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

Side by Side Diff: third_party/WebKit/LayoutTests/inspector/elements/styles-4/styles-update-links.js

Issue 2182393003: DevTools: split inspector/elements/styles-4/styles-update-links.html into 4 tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
(Empty)
1 var initialize_StylesUpdateLinks = function() {
2 function flattenRuleRanges(rule)
3 {
4 var ranges = [];
5 var medias = rule.media || [];
6 for (var i = 0; i < medias.length; ++i) {
7 var media = medias[i];
8 if (!media.range)
9 continue;
10 ranges.push({
11 range: media.range,
12 name: "media #" + i
13 });
14 }
15 for (var i = 0; i < rule.selectors.length; ++i) {
16 var selector = rule.selectors[i];
17 if (!selector.range)
18 continue;
19 ranges.push({
20 range: selector.range,
21 name: "selector #" + i
22 });
23 }
24 if (rule.style.range) {
25 ranges.push({
26 range: rule.style.range,
27 name: "style range"
28 });
29 }
30 var properties = rule.style.allProperties;
31 for (var i = 0; i < properties.length; ++i) {
32 var property = properties[i];
33 if (!property.range)
34 continue;
35 ranges.push({
36 range: property.range,
37 name: "property >>" + property.text + "<<"
38 });
39 }
40 return ranges;
41 }
42
43 function compareRuleRanges(lazyRule, originalRule)
44 {
45 if (lazyRule.selectorText !== originalRule.selectorText) {
46 InspectorTest.addResult("Error: rule selectors are not equal: " + la zyRule.selectorText + " != " + originalRule.selectorText);
47 return false;
48 }
49 var flattenLazy = flattenRuleRanges(lazyRule);
50 var flattenOriginal = flattenRuleRanges(originalRule);
51 if (flattenLazy.length !== flattenOriginal.length) {
52 InspectorTest.addResult("Error: rule range amount is not equal: " + flattenLazy.length + " != " + flattenOriginal.length);
53 return false
54 }
55 for (var i = 0; i < flattenLazy.length; ++i) {
56 var lazyRange = flattenLazy[i];
57 var originalRange = flattenOriginal[i];
58 if (lazyRange.name !== originalRange.name) {
59 InspectorTest.addResult("Error: rule names are not equal: " + la zyRange.name + " != " + originalRange.name);
60 return false;
61 }
62 if (!lazyRange.range.equal(originalRange.range)) {
63 InspectorTest.addResult("Error: ranges '" + lazyRange.name + "' are not equal: " + lazyRange.range.toString() + " != " + originalRange.range.toS tring());
64 return false;
65 }
66 }
67 InspectorTest.addResult(flattenLazy.length + " rule ranges are equal.");
68 return true;
69 }
70
71 InspectorTest.validateRuleRanges = function(selector, rules, callback)
72 {
73 InspectorTest.selectNodeAndWaitForStyles("other", onOtherSelected);
74
75 function onOtherSelected()
76 {
77 InspectorTest.selectNodeAndWaitForStyles(selector, onContainerSelect ed);
78 }
79
80 function onContainerSelected()
81 {
82 var fetchedRules = InspectorTest.getMatchedRules();
83 if (fetchedRules.length !== rules.length) {
84 InspectorTest.addResult(String.sprintf("Error: rules sizes are n ot equal! Expected: %d, actual: %d", fetchedRules.length, rules.length));
85 InspectorTest.completeTest();
86 return;
87 }
88 for (var i = 0; i < fetchedRules.length; ++i) {
89 if (!compareRuleRanges(rules[i], fetchedRules[i])) {
90 InspectorTest.completeTest();
91 return;
92 }
93 }
94 callback();
95 }
96 }
97
98 InspectorTest.getMatchedRules = function()
99 {
100 var rules = [];
101 for (var block of WebInspector.panels.elements.sidebarPanes.styles._sect ionBlocks) {
102 for (var section of block.sections) {
103 var rule = section.style().parentRule;
104 if (rule)
105 rules.push(rule);
106 }
107 }
108 return rules;
109 }
110 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698