2013-12-11 18:09:47 -08:00
|
|
|
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
|
|
<!--
|
|
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=773296
|
|
|
|
-->
|
|
|
|
<head>
|
|
|
|
<title>Test for Bug 773296</title>
|
|
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=773296">Mozilla Bug 773296</a>
|
|
|
|
<p id="display"></p>
|
|
|
|
<div id="content" style="display: none">
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<pre id="test">
|
|
|
|
<script type="application/javascript">
|
|
|
|
|
|
|
|
/** Test for Bug 773296 **/
|
|
|
|
|
|
|
|
function runTest()
|
|
|
|
{
|
|
|
|
var passingConditions = [
|
2014-04-01 20:32:16 -07:00
|
|
|
"(color:var(--a))",
|
|
|
|
"(color: var(--a))",
|
|
|
|
"(color: var(--a) )",
|
|
|
|
"(color: var( --a ) )",
|
|
|
|
"(color: var(--a, ))",
|
|
|
|
"(color: var(--))",
|
|
|
|
"(color: var(--a,/**/a))",
|
|
|
|
"(color: 1px var(--a))",
|
|
|
|
"(color: var(--a) 1px)",
|
|
|
|
"(color: something 3px url(whereever) calc(var(--a) + 1px))",
|
|
|
|
"(color: var(--a) !important)",
|
|
|
|
"(color: var(--a)var(--b))",
|
|
|
|
"(color: var(--a, var(--b, var(--c, black))))",
|
|
|
|
"(color: var(--a) <!--)",
|
|
|
|
"(color: --> var(--a))",
|
|
|
|
"(color: { [ var(--a) ] })",
|
|
|
|
"(color: [;] var(--a))",
|
|
|
|
"(color: var(--a,(;)))",
|
|
|
|
"(color: VAR(--a))",
|
|
|
|
"(color: var(--0))",
|
|
|
|
"(color: var(--\\30))",
|
|
|
|
"(color: var(--\\d800))",
|
|
|
|
"(color: var(--\\ffffff))",
|
|
|
|
"(color: var(--",
|
|
|
|
"(color: var(--a",
|
|
|
|
"(color: var(--a , ",
|
|
|
|
"(color: var(--a, ",
|
|
|
|
"(color: var(--a, var(--b",
|
|
|
|
"(color: var(--a /* unclosed comment",
|
|
|
|
"(color: var(--a, '",
|
|
|
|
"(color: var(--a, '\\",
|
|
|
|
"(color: var(--a, \\",
|
2013-12-11 18:09:47 -08:00
|
|
|
|
2014-04-01 20:32:16 -07:00
|
|
|
"(--a:var(--b))",
|
|
|
|
"(--a: var(--b))",
|
|
|
|
"(--a: var(--b) )",
|
|
|
|
"(--a: var( --b ) )",
|
|
|
|
"(--a: var(--b, ))",
|
|
|
|
"(--a: var(--b,/**/a))",
|
|
|
|
"(--a: 1px var(--b))",
|
|
|
|
"(--a: var(--b) 1px)",
|
|
|
|
"(--a: something 3px url(whereever) calc(var(--b) + 1px))",
|
|
|
|
"(--a: var(--b) !important)",
|
|
|
|
"(--a: var(--b)var(--b))",
|
|
|
|
"(--a: var(--b, var(--c, var(--d, black))))",
|
|
|
|
"(--a: var(--b) <!--)",
|
|
|
|
"(--a: --> var(--b))",
|
|
|
|
"(--a: { [ var(--b) ] })",
|
|
|
|
"(--a: [;] var(--b))",
|
|
|
|
"(--a: )",
|
|
|
|
"(--a:var(--a))",
|
|
|
|
"(--0: a)",
|
|
|
|
"(--\\30: a)",
|
|
|
|
"(--\\61: a)",
|
|
|
|
"(--\\d800: a)",
|
|
|
|
"(--\\ffffff: a)",
|
|
|
|
"(--\0: 1)",
|
|
|
|
"(--a: ",
|
|
|
|
"(--a: /* unclosed comment",
|
|
|
|
"(--a: var(--b",
|
|
|
|
"(--a: var(--b, ",
|
|
|
|
"(--a: var(--b, var(--c",
|
|
|
|
"(--a: [{(((",
|
|
|
|
"(--a: '",
|
|
|
|
"(--a: '\\",
|
|
|
|
"(--a: \\",
|
|
|
|
"(--: a)",
|
2013-12-11 18:09:47 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
var failingConditions = [
|
2014-04-01 20:32:16 -07:00
|
|
|
"(color: var(--a,))",
|
|
|
|
"(color: var(--a,/**/))",
|
|
|
|
"(color: var(--a,!))",
|
|
|
|
"(color: var(--a,!important))",
|
|
|
|
"(color: var(--a) !important !important)",
|
|
|
|
"(color: var(--a,;))",
|
|
|
|
"(color: var(--a);)",
|
2013-12-11 18:09:47 -08:00
|
|
|
"(color: var(1px))",
|
2014-04-01 20:32:16 -07:00
|
|
|
"(color: var(--a)))",
|
|
|
|
"(color: var(--a) \"\n",
|
|
|
|
"(color: var(--a) url(\"\n",
|
|
|
|
"(color: var(a))",
|
2013-12-11 18:09:47 -08:00
|
|
|
|
2014-04-01 20:32:16 -07:00
|
|
|
"(--a: var(--b,))",
|
|
|
|
"(--a: var(--b,/**/))",
|
|
|
|
"(--a: var(--b,!))",
|
|
|
|
"(--a: var(--b,!important))",
|
|
|
|
"((--a: var(--b) !important !important))",
|
|
|
|
"(--a: var(--b,;))",
|
|
|
|
"(--a: var(--b);)",
|
|
|
|
"(--a:)",
|
|
|
|
"(--a: var(1px))",
|
|
|
|
"(--a: a))",
|
|
|
|
"(--a: \"\n",
|
|
|
|
"(--a: url(\"\n",
|
|
|
|
"(--a: var(a))",
|
2013-12-11 18:09:47 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
var passingDeclarations = [
|
2014-04-01 20:32:16 -07:00
|
|
|
["color", "var(--a)"],
|
|
|
|
["color", " var(--a)"],
|
|
|
|
["color", "var(--a) "],
|
|
|
|
["color", "var( --a ) "],
|
|
|
|
["color", "var(--a, )"],
|
|
|
|
["color", "var(--a,/**/a)"],
|
|
|
|
["color", "1px var(--a)"],
|
|
|
|
["color", "var(--a) 1px"],
|
|
|
|
["color", "something 3px url(whereever) calc(var(--a) + 1px)"],
|
|
|
|
["color", "var(--a)var(--b)"],
|
|
|
|
["color", "var(--a, var(--b, var(--c, black)))"],
|
|
|
|
["color", "var(--a) <!--"],
|
|
|
|
["color", "--> var(--a)"],
|
|
|
|
["color", "{ [ var(--a) ] }"],
|
|
|
|
["color", "[;] var(--a)"],
|
|
|
|
["color", "var(--a,(;))"],
|
|
|
|
["color", "VAR(--a)"],
|
|
|
|
["color", "var(--0)"],
|
|
|
|
["color", "var(--\\30)"],
|
|
|
|
["color", "var(--\\d800)"],
|
|
|
|
["color", "var(--\\ffffff)"],
|
|
|
|
["color", "var(--a"],
|
|
|
|
["color", "var(--a , "],
|
|
|
|
["color", "var(--a, "],
|
|
|
|
["color", "var(--a, var(--b"],
|
|
|
|
["color", "var(--a /* unclosed comment"],
|
|
|
|
["color", "var(--a, '"],
|
|
|
|
["color", "var(--a, '\\"],
|
|
|
|
["color", "var(--a, \\"],
|
|
|
|
["color", "var(--"],
|
2013-12-11 18:09:47 -08:00
|
|
|
|
2014-04-01 20:32:16 -07:00
|
|
|
["--a", " var(--b)"],
|
|
|
|
["--a", "var(--b)"],
|
|
|
|
["--a", "var(--b) "],
|
|
|
|
["--a", "var( --b ) "],
|
|
|
|
["--a", "var(--b, )"],
|
|
|
|
["--a", "var(--b,/**/a)"],
|
|
|
|
["--a", "1px var(--b)"],
|
|
|
|
["--a", "var(--b) 1px"],
|
|
|
|
["--a", "something 3px url(whereever) calc(var(--b) + 1px)"],
|
|
|
|
["--a", "var(--b)var(--b)"],
|
|
|
|
["--a", "var(--b, var(--c, var(--d, black)))"],
|
|
|
|
["--a", "var(--b) <!--"],
|
|
|
|
["--a", "--> var(--b)"],
|
|
|
|
["--a", "{ [ var(--b) ] }"],
|
|
|
|
["--a", "[;] var(--b)"],
|
|
|
|
["--a", " "],
|
|
|
|
["--a", "var(--a)"],
|
|
|
|
["--0", "a"],
|
|
|
|
["--\\30", "a"],
|
|
|
|
["--\\61", "a"],
|
|
|
|
["--\\d800", "a"],
|
|
|
|
["--\\ffffff", "a"],
|
|
|
|
["--\0", "a"],
|
|
|
|
["--\ud800", "a"],
|
|
|
|
["--a", "a /* unclosed comment"],
|
|
|
|
["--a", "var(--b"],
|
|
|
|
["--a", "var(--b, "],
|
|
|
|
["--a", "var(--b, var(--c"],
|
|
|
|
["--a", "[{((("],
|
|
|
|
["--a ", "a"],
|
|
|
|
["--a ", "'"],
|
|
|
|
["--a ", "'\\"],
|
|
|
|
["--a ", "\\"],
|
|
|
|
["--", "a"],
|
2013-12-11 18:09:47 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
var failingDeclarations = [
|
2014-04-01 20:32:16 -07:00
|
|
|
["color", "var(--a,)"],
|
|
|
|
["color", "var(--a,/**/)"],
|
|
|
|
["color", "var(--a,!)"],
|
|
|
|
["color", "var(--a,!important)"],
|
|
|
|
["color", "var(--a,;)"],
|
|
|
|
["color", "var(--a);"],
|
2013-12-11 18:09:47 -08:00
|
|
|
["color", "var(1px)"],
|
2014-04-01 20:32:16 -07:00
|
|
|
["color", "var(--a))"],
|
|
|
|
["color", "var(--a) \"\n"],
|
|
|
|
["color", "var(--a) url(\"\n"],
|
|
|
|
["color", "var(--a) !important"],
|
|
|
|
["color", "var(--a) !important !important"],
|
|
|
|
["color", "var(a)"],
|
2013-12-11 18:09:47 -08:00
|
|
|
|
2014-04-01 20:32:16 -07:00
|
|
|
["--a", "var(--b,)"],
|
|
|
|
["--a", "var(--b,/**/)"],
|
|
|
|
["--a", "var(--b,!)"],
|
|
|
|
["--a", "var(--b,!important)"],
|
|
|
|
["--a", "var(--b) !important !important"],
|
|
|
|
["--a", "var(--b,;)"],
|
|
|
|
["--a", "var(--b);"],
|
|
|
|
["--a", ""],
|
|
|
|
["--a", "var(1px)"],
|
2013-12-11 18:09:47 -08:00
|
|
|
["(VAR-a", "a"],
|
2014-04-01 20:32:16 -07:00
|
|
|
["--a", "a)"],
|
|
|
|
["--a", "\"\n"],
|
|
|
|
["--a", "url(\"\n"],
|
|
|
|
["--a", "var(--b))"],
|
|
|
|
["--a", "var(b)"],
|
2013-12-11 18:09:47 -08:00
|
|
|
];
|
|
|
|
|
|
|
|
passingConditions.forEach(function(aCondition) {
|
|
|
|
is(CSS.supports(aCondition), true, "CSS.supports returns true for passing condition \"" + aCondition + "\"");
|
|
|
|
});
|
|
|
|
|
|
|
|
failingConditions.forEach(function(aCondition) {
|
|
|
|
is(CSS.supports(aCondition), false, "CSS.supports returns false for failing condition \"" + aCondition + "\"");
|
|
|
|
});
|
|
|
|
|
|
|
|
passingDeclarations.forEach(function(aDeclaration) {
|
|
|
|
is(CSS.supports(aDeclaration[0], aDeclaration[1]), true, "CSS.supports returns true for supported declaration \"" + aDeclaration.join(":") + "\"");
|
|
|
|
});
|
|
|
|
|
|
|
|
failingDeclarations.forEach(function(aDeclaration) {
|
|
|
|
is(CSS.supports(aDeclaration[0], aDeclaration[1]), false, "CSS.supports returns false for unsupported declaration \"" + aDeclaration.join(":") + "\"");
|
|
|
|
});
|
|
|
|
|
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
2014-06-04 21:07:07 -07:00
|
|
|
SpecialPowers.pushPrefEnv({ "set": [["layout.css.variables.enabled", true]] }, runTest);
|
2013-12-11 18:09:47 -08:00
|
|
|
</script>
|
|
|
|
</pre>
|
|
|
|
</body>
|
|
|
|
</html>
|