xref: /aosp_15_r20/external/llvm-libc/test/src/string/strcoll_test.cpp (revision 71db0c75aadcf003ffe3238005f61d7618a3fead)
1*71db0c75SAndroid Build Coastguard Worker //===-- Unittests for strcoll ---------------------------------------------===//
2*71db0c75SAndroid Build Coastguard Worker //
3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information.
5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*71db0c75SAndroid Build Coastguard Worker //
7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
8*71db0c75SAndroid Build Coastguard Worker 
9*71db0c75SAndroid Build Coastguard Worker #include "src/string/strcoll.h"
10*71db0c75SAndroid Build Coastguard Worker #include "test/UnitTest/Test.h"
11*71db0c75SAndroid Build Coastguard Worker 
12*71db0c75SAndroid Build Coastguard Worker // TODO: Add more comprehensive tests once locale support is added.
13*71db0c75SAndroid Build Coastguard Worker 
TEST(LlvmLibcStrcollTest,SimpleTest)14*71db0c75SAndroid Build Coastguard Worker TEST(LlvmLibcStrcollTest, SimpleTest) {
15*71db0c75SAndroid Build Coastguard Worker   const char *s1 = "abc";
16*71db0c75SAndroid Build Coastguard Worker   const char *s2 = "abc";
17*71db0c75SAndroid Build Coastguard Worker   const char *s3 = "def";
18*71db0c75SAndroid Build Coastguard Worker   int result = LIBC_NAMESPACE::strcoll(s1, s2);
19*71db0c75SAndroid Build Coastguard Worker   ASSERT_EQ(result, 0);
20*71db0c75SAndroid Build Coastguard Worker 
21*71db0c75SAndroid Build Coastguard Worker   // Verify operands reversed.
22*71db0c75SAndroid Build Coastguard Worker   result = LIBC_NAMESPACE::strcoll(s2, s1);
23*71db0c75SAndroid Build Coastguard Worker   ASSERT_EQ(result, 0);
24*71db0c75SAndroid Build Coastguard Worker 
25*71db0c75SAndroid Build Coastguard Worker   result = LIBC_NAMESPACE::strcoll(s1, s3);
26*71db0c75SAndroid Build Coastguard Worker   ASSERT_LT(result, 0);
27*71db0c75SAndroid Build Coastguard Worker 
28*71db0c75SAndroid Build Coastguard Worker   result = LIBC_NAMESPACE::strcoll(s3, s1);
29*71db0c75SAndroid Build Coastguard Worker   ASSERT_GT(result, 0);
30*71db0c75SAndroid Build Coastguard Worker }
31