diff options
Diffstat (limited to 'dom/base/test/test_writable-replaceable.html')
-rw-r--r-- | dom/base/test/test_writable-replaceable.html | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/dom/base/test/test_writable-replaceable.html b/dom/base/test/test_writable-replaceable.html new file mode 100644 index 000000000..20aad7aef --- /dev/null +++ b/dom/base/test/test_writable-replaceable.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="UTF-8"> + <title>Test for Bug 823283</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=823283">Mozilla Bug 823283</a> +<p id="display"></p> +<div id="content" style="display: none"></div> +<pre id="test"> +<script type="application/javascript"> +/** Test for Bug 823283 **/ + +function createTest(prop, typeStr, valCode, replaceable) +{ + var newType = replaceable ? typeof(valCode) : typeStr; + var code = + 'is(typeof ' + prop + ', "' + typeStr + '", "' + prop + ': bad unqualified before-state");\n' + + 'is(typeof window.' + prop + ', "' + typeStr + '", "' + prop + ': bad qualified before-state");\n' + + '\n' + + prop + ' = ' + valCode + ';\n' + + '\n' + + 'is(typeof ' + prop + ', "' + newType + '", "' + prop + ': bad unqualified after-state");\n' + + 'is(typeof window.' + prop + ', "' + newType + '", "' + prop + ': bad qualified after-state");'; + + return Function(code); +} + +[ + ["innerHeight", "number", '"123"', true], + ["innerWidth", "number", '"456"', true], + ["outerHeight", "number", '"654"', true], + ["outerWidth", "number", '"321"', true], + ["screenX", "number", '"17"', true], + ["screenY", "number", '"42"', true], + ["status", "string", '{}', false], + ["name", "string", '{}', false], +].forEach(function(args) +{ + createTest.apply(null, args)(); +}); + +</script> +</pre> +</body> +</html> |