| 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
|
|
|