Index: third_party/WebKit/Source/wtf/text/StringViewTest.cpp |
diff --git a/third_party/WebKit/Source/wtf/text/StringViewTest.cpp b/third_party/WebKit/Source/wtf/text/StringViewTest.cpp |
index 522b42a3298a262a73b2e5dedfd5b38dd6497807..f29ce4911f886a6a7addcd6ec9acb07974387b41 100644 |
--- a/third_party/WebKit/Source/wtf/text/StringViewTest.cpp |
+++ b/third_party/WebKit/Source/wtf/text/StringViewTest.cpp |
@@ -323,4 +323,47 @@ TEST(StringViewTest, NullString) |
EXPECT_TRUE(StringView().toString().isNull()); |
} |
+TEST(StringViewTest, IndexAccess) |
+{ |
+ StringView view8(kChars8); |
+ EXPECT_EQ('1', view8[0]); |
+ EXPECT_EQ('3', view8[2]); |
+ StringView view16(kChars16); |
+ EXPECT_EQ('1', view16[0]); |
+ EXPECT_EQ('3', view16[2]); |
+} |
+ |
+TEST(StringViewTest, EqualIgnoringASCIICase) |
+{ |
+ static const char* link8 = "link"; |
+ static const char* linkCaps8 = "LINK"; |
+ static const char* nonASCII8 = "a\xE1"; |
+ static const char* nonASCIICaps8 = "A\xE1"; |
+ static const char* nonASCIIInvalid8 = "a\xC1"; |
+ |
+ static const UChar link16[5] = { 0x006c, 0x0069, 0x006e, 0x006b, 0 }; // link |
+ static const UChar linkCaps16[5] = { 0x004c, 0x0049, 0x004e, 0x004b, 0 }; // LINK |
+ static const UChar nonASCII16[3] = { 0x0061, 0x00e1, 0 }; // a\xE1 |
+ static const UChar nonASCIICaps16[3] = { 0x0041, 0x00e1, 0 }; // A\xE1 |
+ static const UChar nonASCIIInvalid16[3] = { 0x0061, 0x00c1, 0 }; // a\xC1 |
+ |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(link16), link8)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(link16), linkCaps16)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(link16), linkCaps8)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(link8), linkCaps8)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(link8), link16)); |
+ |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(nonASCII8), nonASCIICaps8)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(nonASCII8), nonASCIICaps16)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(nonASCII16), nonASCIICaps16)); |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView(nonASCII16), nonASCIICaps8)); |
+ EXPECT_FALSE(equalIgnoringASCIICase(StringView(nonASCII8), nonASCIIInvalid8)); |
+ EXPECT_FALSE(equalIgnoringASCIICase(StringView(nonASCII8), nonASCIIInvalid16)); |
+ |
+ EXPECT_TRUE(equalIgnoringASCIICase(StringView("link"), "lInK")); |
+ EXPECT_FALSE(equalIgnoringASCIICase(StringView("link"), "INKL")); |
+ EXPECT_FALSE(equalIgnoringASCIICase(StringView("link"), "link different length")); |
+ EXPECT_FALSE(equalIgnoringASCIICase(StringView("link different length"), "link")); |
+} |
+ |
} // namespace WTF |