Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(840)

Side by Side Diff: third_party/WebKit/Source/core/css/parser/CSSParserValuesTest.cpp

Issue 1636453002: Use ASCII case-insensitive matching for ident-likes in the CSS parser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Consistent indentation in test. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2013, Google Inc. All rights reserved. 2 * Copyright 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 EXPECT_EQ(string, String(cssParserString)); 52 EXPECT_EQ(string, String(cssParserString));
53 EXPECT_FALSE(String(cssParserString).isNull()); 53 EXPECT_FALSE(String(cssParserString).isNull());
54 54
55 string.ensure16Bit(); 55 string.ensure16Bit();
56 cssParserString.init(string); 56 cssParserString.init(string);
57 EXPECT_EQ(0u, cssParserString.length()); 57 EXPECT_EQ(0u, cssParserString.length());
58 EXPECT_EQ(string, String(cssParserString)); 58 EXPECT_EQ(string, String(cssParserString));
59 EXPECT_FALSE(String(cssParserString).isNull()); 59 EXPECT_FALSE(String(cssParserString).isNull());
60 } 60 }
61 61
62 TEST(CSSParserValuesTest, EqualIgnoringCase8BitsString) 62 TEST(CSSParserValuesTest, EqualIgnoringASCIICase8BitsString)
63 { 63 {
64 CSSParserString cssParserString; 64 CSSParserString cssParserString;
65 String string8bit("sHaDOw"); 65 String string8bit("sHaDOw");
66 cssParserString.init(string8bit); 66 cssParserString.init(string8bit);
67 67
68 ASSERT_TRUE(cssParserString.equalIgnoringCase("shadow")); 68 ASSERT_TRUE(cssParserString.equalIgnoringASCIICase("shadow"));
69 ASSERT_TRUE(cssParserString.equalIgnoringCase("ShaDow")); 69 ASSERT_TRUE(cssParserString.equalIgnoringASCIICase("ShaDow"));
70 ASSERT_FALSE(cssParserString.equalIgnoringCase("shadow-all")); 70 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("shadow-all"));
71 ASSERT_FALSE(cssParserString.equalIgnoringCase("sha")); 71 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("sha"));
72 ASSERT_FALSE(cssParserString.equalIgnoringCase("abCD")); 72 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("abCD"));
73 } 73 }
74 74
75 TEST(CSSParserValuesTest, EqualIgnoringCase16BitsString) 75 TEST(CSSParserValuesTest, EqualIgnoringASCIICase16BitsString)
76 { 76 {
77 String string16bit("sHaDOw"); 77 String string16bit("sHaDOw");
78 string16bit.ensure16Bit(); 78 string16bit.ensure16Bit();
79 79
80 CSSParserString cssParserString; 80 CSSParserString cssParserString;
81 cssParserString.init(string16bit); 81 cssParserString.init(string16bit);
82 82
83 ASSERT_TRUE(cssParserString.equalIgnoringCase("shadow")); 83 ASSERT_TRUE(cssParserString.equalIgnoringASCIICase("shadow"));
84 ASSERT_TRUE(cssParserString.equalIgnoringCase("ShaDow")); 84 ASSERT_TRUE(cssParserString.equalIgnoringASCIICase("ShaDow"));
85 ASSERT_FALSE(cssParserString.equalIgnoringCase("shadow-all")); 85 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("shadow-all"));
86 ASSERT_FALSE(cssParserString.equalIgnoringCase("sha")); 86 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("sha"));
87 ASSERT_FALSE(cssParserString.equalIgnoringCase("abCD")); 87 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("abCD"));
88
89 StringBuilder builder;
90 builder.append(0x017f); // LATIN SMALL LETTER LONG S
91 builder.append("HaDOw");
92 ASSERT_FALSE(builder.is8Bit());
93
94 String string16BitFoldingToASCII = builder.toString();
95 cssParserString.init(string16BitFoldingToASCII);
96
97 ASSERT_FALSE(cssParserString.equalIgnoringASCIICase("shadow"));
88 } 98 }
89 99
90 TEST(CSSParserValuesTest, CSSParserValuelistClear) 100 TEST(CSSParserValuesTest, CSSParserValuelistClear)
91 { 101 {
92 CSSParserValueList list; 102 CSSParserValueList list;
93 for (int i = 0; i < 3; ++i) { 103 for (int i = 0; i < 3; ++i) {
94 CSSParserValue value; 104 CSSParserValue value;
95 value.setFromNumber(3, CSSPrimitiveValue::UnitType::Number); 105 value.setFromNumber(3, CSSPrimitiveValue::UnitType::Number);
96 list.addValue(value); 106 list.addValue(value);
97 } 107 }
(...skipping 11 matching lines...) Expand all
109 EXPECT_EQ(String(valueList.valueAt(0)->string), "some"); 119 EXPECT_EQ(String(valueList.valueAt(0)->string), "some");
110 ASSERT_EQ(valueList.valueAt(1)->m_unit, CSSParserValue::URI); 120 ASSERT_EQ(valueList.valueAt(1)->m_unit, CSSParserValue::URI);
111 EXPECT_EQ(String(valueList.valueAt(1)->string), "test"); 121 EXPECT_EQ(String(valueList.valueAt(1)->string), "test");
112 ASSERT_EQ(valueList.valueAt(2)->m_unit, CSSParserValue::URI); 122 ASSERT_EQ(valueList.valueAt(2)->m_unit, CSSParserValue::URI);
113 EXPECT_EQ(String(valueList.valueAt(2)->string), "words"); 123 EXPECT_EQ(String(valueList.valueAt(2)->string), "words");
114 ASSERT_EQ(valueList.valueAt(3)->m_unit, CSSParserValue::URI); 124 ASSERT_EQ(valueList.valueAt(3)->m_unit, CSSParserValue::URI);
115 EXPECT_EQ(String(valueList.valueAt(3)->string), "/**/hi/**/"); 125 EXPECT_EQ(String(valueList.valueAt(3)->string), "/**/hi/**/");
116 } 126 }
117 127
118 } // namespace blink 128 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698