OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/css/ActiveStyleSheets.h" | 5 #include "core/css/ActiveStyleSheets.h" |
6 | 6 |
7 #include "core/css/CSSStyleSheet.h" | 7 #include "core/css/CSSStyleSheet.h" |
8 #include "core/css/MediaQueryEvaluator.h" | 8 #include "core/css/MediaQueryEvaluator.h" |
9 #include "core/css/StyleSheetContents.h" | 9 #include "core/css/StyleSheetContents.h" |
10 #include "core/css/parser/CSSParserMode.h" | 10 #include "core/css/parser/CSSParserMode.h" |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 newSheets.append(std::make_pair(sheet2, &sheet2->contents()->ruleSet())); | 186 newSheets.append(std::make_pair(sheet2, &sheet2->contents()->ruleSet())); |
187 newSheets.append(std::make_pair(sheet3, &sheet3->contents()->ruleSet())); | 187 newSheets.append(std::make_pair(sheet3, &sheet3->contents()->ruleSet())); |
188 | 188 |
189 EXPECT_EQ(ActiveSheetsChanged, | 189 EXPECT_EQ(ActiveSheetsChanged, |
190 compareActiveStyleSheets(oldSheets, newSheets, changedRuleSets)); | 190 compareActiveStyleSheets(oldSheets, newSheets, changedRuleSets)); |
191 ASSERT_EQ(2u, changedRuleSets.size()); | 191 ASSERT_EQ(2u, changedRuleSets.size()); |
192 EXPECT_EQ(&sheet1->contents()->ruleSet(), changedRuleSets[0]); | 192 EXPECT_EQ(&sheet1->contents()->ruleSet(), changedRuleSets[0]); |
193 EXPECT_EQ(&sheet3->contents()->ruleSet(), changedRuleSets[1]); | 193 EXPECT_EQ(&sheet3->contents()->ruleSet(), changedRuleSets[1]); |
194 } | 194 } |
195 | 195 |
| 196 TEST_F(ActiveStyleSheetsTest, CompareActiveStyleSheets_AddNullRuleSet) { |
| 197 ActiveStyleSheetVector oldSheets; |
| 198 ActiveStyleSheetVector newSheets; |
| 199 HeapVector<Member<RuleSet>> changedRuleSets; |
| 200 |
| 201 CSSStyleSheet* sheet1 = createSheet(); |
| 202 CSSStyleSheet* sheet2 = createSheet(); |
| 203 |
| 204 oldSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 205 |
| 206 newSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 207 newSheets.append(std::make_pair(sheet2, nullptr)); |
| 208 |
| 209 EXPECT_EQ(NoActiveSheetsChanged, |
| 210 compareActiveStyleSheets(oldSheets, newSheets, changedRuleSets)); |
| 211 EXPECT_EQ(0u, changedRuleSets.size()); |
| 212 } |
| 213 |
| 214 TEST_F(ActiveStyleSheetsTest, CompareActiveStyleSheets_RemoveNullRuleSet) { |
| 215 ActiveStyleSheetVector oldSheets; |
| 216 ActiveStyleSheetVector newSheets; |
| 217 HeapVector<Member<RuleSet>> changedRuleSets; |
| 218 |
| 219 CSSStyleSheet* sheet1 = createSheet(); |
| 220 CSSStyleSheet* sheet2 = createSheet(); |
| 221 |
| 222 oldSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 223 oldSheets.append(std::make_pair(sheet2, nullptr)); |
| 224 |
| 225 newSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 226 |
| 227 EXPECT_EQ(NoActiveSheetsChanged, |
| 228 compareActiveStyleSheets(oldSheets, newSheets, changedRuleSets)); |
| 229 EXPECT_EQ(0u, changedRuleSets.size()); |
| 230 } |
| 231 |
| 232 TEST_F(ActiveStyleSheetsTest, CompareActiveStyleSheets_AddRemoveNullRuleSet) { |
| 233 ActiveStyleSheetVector oldSheets; |
| 234 ActiveStyleSheetVector newSheets; |
| 235 HeapVector<Member<RuleSet>> changedRuleSets; |
| 236 |
| 237 CSSStyleSheet* sheet1 = createSheet(); |
| 238 CSSStyleSheet* sheet2 = createSheet(); |
| 239 CSSStyleSheet* sheet3 = createSheet(); |
| 240 |
| 241 oldSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 242 oldSheets.append(std::make_pair(sheet2, nullptr)); |
| 243 |
| 244 newSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 245 newSheets.append(std::make_pair(sheet3, nullptr)); |
| 246 |
| 247 EXPECT_EQ(NoActiveSheetsChanged, |
| 248 compareActiveStyleSheets(oldSheets, newSheets, changedRuleSets)); |
| 249 EXPECT_EQ(0u, changedRuleSets.size()); |
| 250 } |
| 251 |
| 252 TEST_F(ActiveStyleSheetsTest, |
| 253 CompareActiveStyleSheets_RemoveNullRuleSetAndAppend) { |
| 254 ActiveStyleSheetVector oldSheets; |
| 255 ActiveStyleSheetVector newSheets; |
| 256 HeapVector<Member<RuleSet>> changedRuleSets; |
| 257 |
| 258 CSSStyleSheet* sheet1 = createSheet(); |
| 259 CSSStyleSheet* sheet2 = createSheet(); |
| 260 CSSStyleSheet* sheet3 = createSheet(); |
| 261 |
| 262 oldSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 263 oldSheets.append(std::make_pair(sheet2, nullptr)); |
| 264 |
| 265 newSheets.append(std::make_pair(sheet1, &sheet1->contents()->ruleSet())); |
| 266 newSheets.append(std::make_pair(sheet3, &sheet3->contents()->ruleSet())); |
| 267 |
| 268 EXPECT_EQ(ActiveSheetsChanged, |
| 269 compareActiveStyleSheets(oldSheets, newSheets, changedRuleSets)); |
| 270 ASSERT_EQ(1u, changedRuleSets.size()); |
| 271 EXPECT_EQ(&sheet3->contents()->ruleSet(), changedRuleSets[0]); |
| 272 } |
| 273 |
196 } // namespace blink | 274 } // namespace blink |
OLD | NEW |