| Index: third_party/WebKit/Source/wtf/text/StringImplTest.cpp
|
| diff --git a/third_party/WebKit/Source/wtf/text/StringImplTest.cpp b/third_party/WebKit/Source/wtf/text/StringImplTest.cpp
|
| index 9843a07eb4df4df003404130bdc5736bf335ead4..8e8835ac7c6d734768cb4ad5359753e2f13b64fe 100644
|
| --- a/third_party/WebKit/Source/wtf/text/StringImplTest.cpp
|
| +++ b/third_party/WebKit/Source/wtf/text/StringImplTest.cpp
|
| @@ -100,4 +100,61 @@ TEST(StringImplTest, LowerASCII) {
|
| StringImpl::create(testWithNonASCIIComparison, 2)->lowerASCII().get()));
|
| }
|
|
|
| +TEST(StringImplTest, UpperASCII) {
|
| + RefPtr<StringImpl> testStringImpl = StringImpl::create("LINK");
|
| + EXPECT_TRUE(testStringImpl->is8Bit());
|
| + EXPECT_TRUE(StringImpl::create("a\xE1")->is8Bit());
|
| +
|
| + EXPECT_TRUE(equal(testStringImpl.get(),
|
| + StringImpl::create("link")->upperASCII().get()));
|
| + EXPECT_TRUE(equal(testStringImpl.get(),
|
| + StringImpl::create("LINK")->upperASCII().get()));
|
| + EXPECT_TRUE(equal(testStringImpl.get(),
|
| + StringImpl::create("lInk")->upperASCII().get()));
|
| +
|
| + EXPECT_TRUE(equal(StringImpl::create("LINK")->upper().get(),
|
| + StringImpl::create("LINK")->upperASCII().get()));
|
| + EXPECT_TRUE(equal(StringImpl::create("lInk")->upper().get(),
|
| + StringImpl::create("lInk")->upperASCII().get()));
|
| +
|
| + EXPECT_TRUE(equal(StringImpl::create("A\xE1").get(),
|
| + StringImpl::create("a\xE1")->upperASCII().get()));
|
| + EXPECT_TRUE(equal(StringImpl::create("A\xC1").get(),
|
| + StringImpl::create("a\xC1")->upperASCII().get()));
|
| +
|
| + EXPECT_FALSE(equal(StringImpl::create("A\xE1").get(),
|
| + StringImpl::create("a\xC1")->upperASCII().get()));
|
| + EXPECT_FALSE(equal(StringImpl::create("A\xE1").get(),
|
| + StringImpl::create("A\xC1")->upperASCII().get()));
|
| +
|
| + static const UChar test[5] = {0x006c, 0x0069, 0x006e, 0x006b, 0}; // link
|
| + static const UChar testCapitalized[5] = {0x004c, 0x0049, 0x004e, 0x004b,
|
| + 0}; // LINK
|
| +
|
| + RefPtr<StringImpl> testStringImpl16 = StringImpl::create(testCapitalized, 4);
|
| + EXPECT_FALSE(testStringImpl16->is8Bit());
|
| +
|
| + EXPECT_TRUE(equal(testStringImpl16.get(),
|
| + StringImpl::create(test, 4)->upperASCII().get()));
|
| + EXPECT_TRUE(
|
| + equal(testStringImpl16.get(),
|
| + StringImpl::create(testCapitalized, 4)->upperASCII().get()));
|
| +
|
| + static const UChar testWithNonASCII[3] = {0x0061, 0x00e1, 0}; // a\xE1
|
| + static const UChar testWithNonASCIIComparison[3] = {0x0061, 0x00c1,
|
| + 0}; // a\xC1
|
| + static const UChar testWithNonASCIICapitalized[3] = {0x0041, 0x00e1,
|
| + 0}; // A\xE1
|
| +
|
| + // Make sure we support RefPtr<const StringImpl>.
|
| + RefPtr<const StringImpl> constRef = testStringImpl->isolatedCopy();
|
| + DCHECK(constRef->hasOneRef());
|
| + EXPECT_TRUE(
|
| + equal(StringImpl::create(testWithNonASCIICapitalized, 2).get(),
|
| + StringImpl::create(testWithNonASCII, 2)->upperASCII().get()));
|
| + EXPECT_FALSE(equal(
|
| + StringImpl::create(testWithNonASCIICapitalized, 2).get(),
|
| + StringImpl::create(testWithNonASCIIComparison, 2)->upperASCII().get()));
|
| +}
|
| +
|
| } // namespace WTF
|
|
|