diff options
author | Lenny Maiorani <lenny@colorado.edu> | 2011-04-15 17:56:50 +0000 |
---|---|---|
committer | Lenny Maiorani <lenny@colorado.edu> | 2011-04-15 17:56:50 +0000 |
commit | fad9d9572233aafac9f3ec63d6cc2e2a2a77f0e5 (patch) | |
tree | 26080cccf73ec552a0f107a9d4b98b7d5920a577 /llvm/unittests/ADT/StringRefTest.cpp | |
parent | a236485b1fbb07d05f2356a86fafc3209c0a329d (diff) | |
download | llvm-fad9d9572233aafac9f3ec63d6cc2e2a2a77f0e5.zip llvm-fad9d9572233aafac9f3ec63d6cc2e2a2a77f0e5.tar.gz llvm-fad9d9572233aafac9f3ec63d6cc2e2a2a77f0e5.tar.bz2 |
Implements StringRef::compare with bounds. It is behaves similarly to strncmp(). Unit tests also included.
llvm-svn: 129582
Diffstat (limited to 'llvm/unittests/ADT/StringRefTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/StringRefTest.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/StringRefTest.cpp b/llvm/unittests/ADT/StringRefTest.cpp index 5731e4a..633fcc8 100644 --- a/llvm/unittests/ADT/StringRefTest.cpp +++ b/llvm/unittests/ADT/StringRefTest.cpp @@ -55,6 +55,19 @@ TEST(StringRefTest, StringOps) { EXPECT_EQ( 1, StringRef("aab").compare("aa")); EXPECT_EQ( 1, StringRef("\xFF").compare("\1")); + EXPECT_EQ(-1, StringRef("aab").compare("aad", 3)); + EXPECT_EQ( 0, StringRef("aab").compare("aab", 3)); + EXPECT_EQ( 1, StringRef("aab").compare("aaa", 3)); + EXPECT_EQ(-1, StringRef("aab").compare("aabb", 4)); + EXPECT_EQ( 1, StringRef("aab").compare("aa", 3)); + EXPECT_EQ( 1, StringRef("\xFF").compare("\1", 3)); + EXPECT_EQ( 0, StringRef("aab").compare("aad", 2)); + EXPECT_EQ( 0, StringRef("aab").compare("aab", 2)); + EXPECT_EQ( 0, StringRef("aab").compare("aab", 4)); + EXPECT_EQ( 0, StringRef("aab").compare("aaa", 2)); + EXPECT_EQ( 0, StringRef("aab").compare("aabb", 3)); + EXPECT_EQ( 0, StringRef("aab").compare("aa", 2)); + EXPECT_EQ(-1, StringRef("AaB").compare_lower("aAd")); EXPECT_EQ( 0, StringRef("AaB").compare_lower("aab")); EXPECT_EQ( 1, StringRef("AaB").compare_lower("AAA")); |