summaryrefslogtreecommitdiffstats
path: root/dom/xbl/test/test_bug371724.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xbl/test/test_bug371724.xhtml')
-rw-r--r--dom/xbl/test/test_bug371724.xhtml58
1 files changed, 58 insertions, 0 deletions
diff --git a/dom/xbl/test/test_bug371724.xhtml b/dom/xbl/test/test_bug371724.xhtml
new file mode 100644
index 000000000..69a317fde
--- /dev/null
+++ b/dom/xbl/test/test_bug371724.xhtml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=371724
+-->
+<head>
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+ <bindings xmlns="http://www.mozilla.org/xbl">
+ <binding id="rd">
+ <implementation>
+ <property name="hallo" onget="return true;" readonly="true" exposeToUntrustedContent="true"/>
+ </implementation>
+ </binding>
+ </bindings>
+</head>
+<body>
+ <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=371724">Mozilla Bug 371724</a>
+ <p id="display"></p>
+ <div id="content" style="display: none"></div>
+ <div id="a" style="-moz-binding:url('#rd');">Success!</div>
+ <pre id="test">
+ <script class="testbody" type="text/javascript">
+ /** Test for Bug 371724 **/
+ SimpleTest.waitForExplicitFinish();
+ function checkReadOnly() {
+ var elt = document.getElementById('a');
+ var oldValue = elt.hallo;
+ var actual;
+ try {
+ elt.hallo = false;
+ actual = elt.hallo;
+ } catch (ex) {
+ actual = "" + ex;
+ }
+ is(actual, true,
+ "Setting a readonly xbl property should do nothing if !strict");
+ checkReadOnlyStrict();
+ }
+ function checkReadOnlyStrict() {
+ "use strict";
+ var elt = document.getElementById('a');
+ var actual;
+ try {
+ elt.hallo = false;
+ actual = "should have thrown";
+ } catch (ex) {
+ actual = ex instanceof TypeError;
+ }
+ is(actual, true,
+ "Setting a readonly xbl property should throw a TypeError exception if strict");
+ SimpleTest.finish();
+ }
+ addLoadEvent(checkReadOnly);
+ </script>
+ </pre>
+</body>
+</html>