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

Side by Side Diff: LayoutTests/fast/css/variables/cssom-computed-style.html

Issue 21006006: Add forEach() to CSSVariablesMap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase and review changes Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/fast/css/variables/cssom-computed-style-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <script> 1 <!doctype html>
2 if (window.testRunner) 2 <head><script src="../../js/resources/js-test-pre.js"></script></head>
3 testRunner.dumpAsText();
4 </script>
5 3
6 <style> 4 <style>
7 pre { 5 #test-target {
8 var-stylesheet: pass; 6 var-stylesheet: pass;
9 } 7 }
10 </style> 8 </style>
11 9
12 <body> 10 <body>
13 11 <div style="var-inherited: pass"><div id="test-target" style="var-inline: pass"> </div></div>
14 <pre style="var-inherited: pass"><pre id="pre" style="var-inline: pass"></pre></ pre>
15
16 </body> 12 </body>
17 13
18 <script> 14 <script>
19 var pre = document.querySelector("#pre"); 15 description('This tests Javascript access to CSS variables via getComputedStyle. ');
20 var preStyle = getComputedStyle(pre);
21 var bodyStyle = getComputedStyle(document.querySelector("body"));
22 pre.innerText += "Computed variables declaration: " + preStyle.var + "\n";
23 16
24 pre.innerText += "Create variable: "; 17 var computedStyle = getComputedStyle(document.querySelector("#test-target"));
25 try { 18 var computedBodyStyle = getComputedStyle(document.querySelector("body"));
26 preStyle.var.set("create", "test");
27 pre.innerText += "No exception thrown.\n";
28 }
29 catch (exception) {
30 pre.innerText += exception + "\n";
31 }
32 19
33 pre.innerText += "Count variables: " + preStyle.var.size + "\n"; 20 shouldBeEqualToString('computedStyle.var.toString()', '[object CSSVariablesMap]' );
34 pre.innerText += "Count empty variables: " + bodyStyle.var.size + "\n"; 21 shouldBe('computedStyle.var === computedStyle.var', 'true');
35 pre.innerText += "Read stylesheet variable: " + preStyle.var.get("stylesheet") + "\n"; 22 shouldThrow('computedStyle.var.set("create", "test")', '"NoModificationAllowedEr ror: Failed to set the \'create\' property on a computed \'CSSStyleDeclaration\' : computed styles are read-only."');
36 pre.innerText += "Read inherited variable: " + preStyle.var.get("inherited") + " \n"; 23 shouldBe('computedStyle.var.size', '3');
37 pre.innerText += "Read inline variable: " + preStyle.var.get("inline") + "\n"; 24 shouldBe('computedBodyStyle.var.size', '0');
38 pre.innerText += "Read non-existent variable: " + (bodyStyle.var.get("test") ? " fail" : "pass") + "\n"; 25 shouldBeEqualToString('computedStyle.var.get("stylesheet")', 'pass');
26 shouldBeEqualToString('computedStyle.var.get("inherited")', 'pass');
27 shouldBeEqualToString('computedStyle.var.get("inline")', 'pass');
28 shouldBeEqualToString('computedBodyStyle.var.get("non-existent")', '');
39 29
40 pre.innerText += "Update variable: "; 30 var forEachIterations = [];
41 try { 31 computedStyle.var.forEach(function(value, name, map) {
42 preStyle.var.set("inline", "test"); 32 forEachIterations.push([value, name, map.toString()]);
43 pre.innerText += "No exception thrown (fail).\n"; 33 });
44 } 34 forEachIterations.sort();
45 catch (exception) { 35 shouldBe('forEachIterations[0]', '["pass", "inherited", "[object CSSVariablesMap ]"]');
46 pre.innerText += exception + "\n"; 36 shouldBe('forEachIterations[1]', '["pass", "inline", "[object CSSVariablesMap]"] ');
47 } 37 shouldBe('forEachIterations[2]', '["pass", "stylesheet", "[object CSSVariablesMa p]"]');
38 shouldBe('forEachIterations.length', '3');
48 39
49 pre.innerText += "Delete variable: " + (preStyle.var.delete("inline") ? "Deleted " : "Not deleted") + "\n"; 40 var emptyVarForEachIterations = [];
41 computedBodyStyle.var.forEach(function(value, name, map) {
42 emptyVarForEachIterations.push([value, name, map.toString()]);
43 });
44 shouldBe('emptyVarForEachIterations.length', '0');
50 45
51 pre.innerText += "Clear variables: "; 46 shouldThrow('computedStyle.var.set("inline", "fail")', '"NoModificationAllowedEr ror: Failed to set the \'inline\' property on a computed \'CSSStyleDeclaration\' : computed styles are read-only."');
52 try { 47 shouldThrow('computedStyle.var.clear()', '"NoModificationAllowedError: Failed to clear variables from a computed \'CSSStyleDeclaration\': computed styles are re ad-only."');
53 preStyle.var.clear(); 48 shouldBe('computedStyle.var.delete("inline")', 'false');
54 pre.innerText += "No exception thrown (fail).\n"; 49 shouldBeEqualToString('computedStyle.var.get("inline")', 'pass');
55 }
56 catch (exception) {
57 pre.innerText += exception + "\n";
58 }
59
60 pre.innerText += "Set cssText: ";
61 try {
62 preStyle.cssText = "yay: !important;";
63 pre.innerText += "No exception thrown (fail).\n";
64 }
65 catch (exception) {
66 pre.innerText += exception + "\n";
67 }
68
69 pre.innerText += "Read deleted variable: " + preStyle.var.get("inline") + "\n";
70 </script> 50 </script>
51 <script src="../../js/resources/js-test-post.js"></script>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/css/variables/cssom-computed-style-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698