Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=773296
5 -->
6 <head>
7 <title>Test for Bug 773296</title>
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
10 </head>
11 <body>
12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=773296">Mozilla Bug 773296</a>
13 <p id="display"></p>
14 <div id="content" style="display: none">
16 </div>
17 <pre id="test">
18 <script type="application/javascript">
20 /** Test for Bug 773296 **/
22 function runTest()
23 {
24 var passingConditions = [
25 "(color:var(--a))",
26 "(color: var(--a))",
27 "(color: var(--a) )",
28 "(color: var( --a ) )",
29 "(color: var(--a, ))",
30 "(color: var(--))",
31 "(color: var(--a,/**/a))",
32 "(color: 1px var(--a))",
33 "(color: var(--a) 1px)",
34 "(color: something 3px url(whereever) calc(var(--a) + 1px))",
35 "(color: var(--a) !important)",
36 "(color: var(--a)var(--b))",
37 "(color: var(--a, var(--b, var(--c, black))))",
38 "(color: var(--a) <!--)",
39 "(color: --> var(--a))",
40 "(color: { [ var(--a) ] })",
41 "(color: [;] var(--a))",
42 "(color: var(--a,(;)))",
43 "(color: VAR(--a))",
44 "(color: var(--0))",
45 "(color: var(--\\30))",
46 "(color: var(--\\d800))",
47 "(color: var(--\\ffffff))",
48 "(color: var(--",
49 "(color: var(--a",
50 "(color: var(--a , ",
51 "(color: var(--a, ",
52 "(color: var(--a, var(--b",
53 "(color: var(--a /* unclosed comment",
54 "(color: var(--a, '",
55 "(color: var(--a, '\\",
56 "(color: var(--a, \\",
58 "(--a:var(--b))",
59 "(--a: var(--b))",
60 "(--a: var(--b) )",
61 "(--a: var( --b ) )",
62 "(--a: var(--b, ))",
63 "(--a: var(--b,/**/a))",
64 "(--a: 1px var(--b))",
65 "(--a: var(--b) 1px)",
66 "(--a: something 3px url(whereever) calc(var(--b) + 1px))",
67 "(--a: var(--b) !important)",
68 "(--a: var(--b)var(--b))",
69 "(--a: var(--b, var(--c, var(--d, black))))",
70 "(--a: var(--b) <!--)",
71 "(--a: --> var(--b))",
72 "(--a: { [ var(--b) ] })",
73 "(--a: [;] var(--b))",
74 "(--a: )",
75 "(--a:var(--a))",
76 "(--0: a)",
77 "(--\\30: a)",
78 "(--\\61: a)",
79 "(--\\d800: a)",
80 "(--\\ffffff: a)",
81 "(--\0: 1)",
82 "(--a: ",
83 "(--a: /* unclosed comment",
84 "(--a: var(--b",
85 "(--a: var(--b, ",
86 "(--a: var(--b, var(--c",
87 "(--a: [{(((",
88 "(--a: '",
89 "(--a: '\\",
90 "(--a: \\",
91 "(--: a)",
92 ];
94 var failingConditions = [
95 "(color: var(--a,))",
96 "(color: var(--a,/**/))",
97 "(color: var(--a,!))",
98 "(color: var(--a,!important))",
99 "(color: var(--a) !important !important)",
100 "(color: var(--a,;))",
101 "(color: var(--a);)",
102 "(color: var(1px))",
103 "(color: var(--a)))",
104 "(color: var(--a) \"\n",
105 "(color: var(--a) url(\"\n",
106 "(color: var(a))",
108 "(--a: var(--b,))",
109 "(--a: var(--b,/**/))",
110 "(--a: var(--b,!))",
111 "(--a: var(--b,!important))",
112 "((--a: var(--b) !important !important))",
113 "(--a: var(--b,;))",
114 "(--a: var(--b);)",
115 "(--a:)",
116 "(--a: var(1px))",
117 "(--a: a))",
118 "(--a: \"\n",
119 "(--a: url(\"\n",
120 "(--a: var(a))",
121 ];
123 var passingDeclarations = [
124 ["color", "var(--a)"],
125 ["color", " var(--a)"],
126 ["color", "var(--a) "],
127 ["color", "var( --a ) "],
128 ["color", "var(--a, )"],
129 ["color", "var(--a,/**/a)"],
130 ["color", "1px var(--a)"],
131 ["color", "var(--a) 1px"],
132 ["color", "something 3px url(whereever) calc(var(--a) + 1px)"],
133 ["color", "var(--a)var(--b)"],
134 ["color", "var(--a, var(--b, var(--c, black)))"],
135 ["color", "var(--a) <!--"],
136 ["color", "--> var(--a)"],
137 ["color", "{ [ var(--a) ] }"],
138 ["color", "[;] var(--a)"],
139 ["color", "var(--a,(;))"],
140 ["color", "VAR(--a)"],
141 ["color", "var(--0)"],
142 ["color", "var(--\\30)"],
143 ["color", "var(--\\d800)"],
144 ["color", "var(--\\ffffff)"],
145 ["color", "var(--a"],
146 ["color", "var(--a , "],
147 ["color", "var(--a, "],
148 ["color", "var(--a, var(--b"],
149 ["color", "var(--a /* unclosed comment"],
150 ["color", "var(--a, '"],
151 ["color", "var(--a, '\\"],
152 ["color", "var(--a, \\"],
153 ["color", "var(--"],
155 ["--a", " var(--b)"],
156 ["--a", "var(--b)"],
157 ["--a", "var(--b) "],
158 ["--a", "var( --b ) "],
159 ["--a", "var(--b, )"],
160 ["--a", "var(--b,/**/a)"],
161 ["--a", "1px var(--b)"],
162 ["--a", "var(--b) 1px"],
163 ["--a", "something 3px url(whereever) calc(var(--b) + 1px)"],
164 ["--a", "var(--b)var(--b)"],
165 ["--a", "var(--b, var(--c, var(--d, black)))"],
166 ["--a", "var(--b) <!--"],
167 ["--a", "--> var(--b)"],
168 ["--a", "{ [ var(--b) ] }"],
169 ["--a", "[;] var(--b)"],
170 ["--a", " "],
171 ["--a", "var(--a)"],
172 ["--0", "a"],
173 ["--\\30", "a"],
174 ["--\\61", "a"],
175 ["--\\d800", "a"],
176 ["--\\ffffff", "a"],
177 ["--\0", "a"],
178 ["--\ud800", "a"],
179 ["--a", "a /* unclosed comment"],
180 ["--a", "var(--b"],
181 ["--a", "var(--b, "],
182 ["--a", "var(--b, var(--c"],
183 ["--a", "[{((("],
184 ["--a ", "a"],
185 ["--a ", "'"],
186 ["--a ", "'\\"],
187 ["--a ", "\\"],
188 ["--", "a"],
189 ];
191 var failingDeclarations = [
192 ["color", "var(--a,)"],
193 ["color", "var(--a,/**/)"],
194 ["color", "var(--a,!)"],
195 ["color", "var(--a,!important)"],
196 ["color", "var(--a,;)"],
197 ["color", "var(--a);"],
198 ["color", "var(1px)"],
199 ["color", "var(--a))"],
200 ["color", "var(--a) \"\n"],
201 ["color", "var(--a) url(\"\n"],
202 ["color", "var(--a) !important"],
203 ["color", "var(--a) !important !important"],
204 ["color", "var(a)"],
206 ["--a", "var(--b,)"],
207 ["--a", "var(--b,/**/)"],
208 ["--a", "var(--b,!)"],
209 ["--a", "var(--b,!important)"],
210 ["--a", "var(--b) !important !important"],
211 ["--a", "var(--b,;)"],
212 ["--a", "var(--b);"],
213 ["--a", ""],
214 ["--a", "var(1px)"],
215 ["(VAR-a", "a"],
216 ["--a", "a)"],
217 ["--a", "\"\n"],
218 ["--a", "url(\"\n"],
219 ["--a", "var(--b))"],
220 ["--a", "var(b)"],
221 ];
223 passingConditions.forEach(function(aCondition) {
224 is(CSS.supports(aCondition), true, "CSS.supports returns true for passing condition \"" + aCondition + "\"");
225 });
227 failingConditions.forEach(function(aCondition) {
228 is(CSS.supports(aCondition), false, "CSS.supports returns false for failing condition \"" + aCondition + "\"");
229 });
231 passingDeclarations.forEach(function(aDeclaration) {
232 is(CSS.supports(aDeclaration[0], aDeclaration[1]), true, "CSS.supports returns true for supported declaration \"" + aDeclaration.join(":") + "\"");
233 });
235 failingDeclarations.forEach(function(aDeclaration) {
236 is(CSS.supports(aDeclaration[0], aDeclaration[1]), false, "CSS.supports returns false for unsupported declaration \"" + aDeclaration.join(":") + "\"");
237 });
239 SimpleTest.finish();
240 }
242 SimpleTest.waitForExplicitFinish();
243 SpecialPowers.pushPrefEnv({ "set": [["layout.css.supports-rule.enabled", true],
244 ["layout.css.variables.enabled", true]] }, runTest);
245 </script>
246 </pre>
247 </body>
248 </html>