aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/StringRefTest.cpp
diff options
context:
space:
mode:
authorLenny Maiorani <lenny@colorado.edu>2011-04-15 17:56:50 +0000
committerLenny Maiorani <lenny@colorado.edu>2011-04-15 17:56:50 +0000
commitfad9d9572233aafac9f3ec63d6cc2e2a2a77f0e5 (patch)
tree26080cccf73ec552a0f107a9d4b98b7d5920a577 /llvm/unittests/ADT/StringRefTest.cpp
parenta236485b1fbb07d05f2356a86fafc3209c0a329d (diff)
downloadllvm-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.cpp13
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"));