mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
cd9afca8b6
This changes test_property_syntax_errors.html in the following ways: (1) removes the "known failures" handling, since there aren't any (2) changes it to test syntax errors in both quirks mode and standards mode, instead of only in standards mode (3) uses a (new) quirks_values mechanism to property_database.js to test cases that should be invalid in standards mode but accepted in quirks mode
98 lines
3.3 KiB
HTML
98 lines
3.3 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
-->
|
|
<head>
|
|
<title>Test that we reject syntax errors listed in property_database.js</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="text/javascript" src="property_database.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body onload="run()">
|
|
<p id="display"></p>
|
|
<iframe id="quirks" src="data:text/html,<div id='testnode'></div>"></iframe>
|
|
<div id="content" style="display: none">
|
|
|
|
<div id="testnode"></div>
|
|
|
|
</div>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function check_not_accepted(decl, property, info, badval)
|
|
{
|
|
decl.setProperty(property, badval, "");
|
|
|
|
is(decl.getPropertyValue(property), "",
|
|
"invalid value '" + badval + "' not accepted for '" + property +
|
|
"' property");
|
|
|
|
if ("subproperties" in info) {
|
|
for (var sidx in info.subproperties) {
|
|
var subprop = info.subproperties[sidx];
|
|
is(decl.getPropertyValue(subprop), "",
|
|
"invalid value '" + badval + "' not accepted for '" + property +
|
|
"' property when testing subproperty '" + subprop + "'");
|
|
}
|
|
}
|
|
|
|
decl.removeProperty(property);
|
|
}
|
|
|
|
function run()
|
|
{
|
|
var gDeclaration = document.getElementById("testnode").style;
|
|
var gQuirksDeclaration = document.getElementById("quirks").contentDocument
|
|
.getElementById("testnode").style;
|
|
|
|
for (var property in gCSSProperties) {
|
|
var info = gCSSProperties[property];
|
|
for (var idx in info.invalid_values) {
|
|
check_not_accepted(gDeclaration, property, info,
|
|
info.invalid_values[idx]);
|
|
check_not_accepted(gQuirksDeclaration, property, info,
|
|
info.invalid_values[idx]);
|
|
}
|
|
|
|
if ("quirks_values" in info) {
|
|
for (var quirkval in info.quirks_values) {
|
|
var standardval = info.quirks_values[quirkval];
|
|
check_not_accepted(gDeclaration, property, info, quirkval);
|
|
|
|
gQuirksDeclaration.setProperty(property, quirkval, "");
|
|
gDeclaration.setProperty(property, standardval, "");
|
|
var quirkret = gQuirksDeclaration.getPropertyValue(property);
|
|
var standardret = gDeclaration.getPropertyValue(property);
|
|
isnot(quirkret, "", property + ": " + quirkval +
|
|
" should be accepted in quirks mode");
|
|
is(quirkret, standardret, property + ": " + quirkval + " result");
|
|
|
|
if ("subproperties" in info) {
|
|
for (var sidx in info.subproperties) {
|
|
var subprop = info.subproperties[sidx];
|
|
var quirksub = gQuirksDeclaration.getPropertyValue(subprop);
|
|
var standardsub = gDeclaration.getPropertyValue(subprop);
|
|
isnot(quirksub, "", property + ": " + quirkval +
|
|
" should be accepted in quirks mode" +
|
|
" when testing subproperty " + subprop);
|
|
is(quirksub, standardsub, property + ": " + quirkval + " result" +
|
|
" when testing subproperty " + subprop);
|
|
}
|
|
}
|
|
|
|
gQuirksDeclaration.removeProperty(property);
|
|
gDeclaration.removeProperty(property);
|
|
}
|
|
}
|
|
}
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|