1
/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
8
* http://www.apache.org/licenses/LICENSE-2.0
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
17
#include "apr_file_io.h"
18
#include "apr_errno.h"
19
#include "apr_strings.h"
22
static void less0(abts_case *tc, void *data)
24
int rv = apr_strnatcmp("a", "b");
25
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv < 0);
28
static void str_equal(abts_case *tc, void *data)
30
int rv = apr_strnatcmp("a", "a");
31
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv == 0);
34
static void more0(abts_case *tc, void *data)
36
int rv = apr_strnatcmp("b", "a");
37
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv > 0);
40
static void less_ignore_case(abts_case *tc, void *data)
42
int rv = apr_strnatcasecmp("a", "B");
43
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv < 0);
46
static void str_equal_ignore_case(abts_case *tc, void *data)
48
int rv = apr_strnatcasecmp("a", "A");
49
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv == 0);
52
static void more_ignore_case(abts_case *tc, void *data)
54
int rv = apr_strnatcasecmp("b", "A");
55
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv > 0);
58
static void natcmp(abts_case *tc, void *data)
60
int rv = apr_strnatcasecmp("a2", "a10");
61
ABTS_ASSERT(tc, "didn't compare simple strings properly", rv < 0);
64
abts_suite *teststrnatcmp(abts_suite *suite)
66
suite = ADD_SUITE(suite)
68
abts_run_test(suite, less0, NULL);
69
abts_run_test(suite, str_equal, NULL);
70
abts_run_test(suite, more0, NULL);
71
abts_run_test(suite, less_ignore_case, NULL);
72
abts_run_test(suite, str_equal_ignore_case, NULL);
73
abts_run_test(suite, more_ignore_case, NULL);
74
abts_run_test(suite, natcmp, NULL);