content/xul/document/test/test_bug640158_overlay_persist.xul

branch
TOR_BUG_9701
changeset 8
97036ab72558
equal deleted inserted replaced
-1:000000000000 0:f4e8efec5fdc
1 <?xml version="1.0"?>
2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
4 <!--
5 https://bugzilla.mozilla.org/show_bug.cgi?id=640158
6 -->
7 <window title="Mozilla Bug 640158" id="rootwin"
8 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
9 <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
10
11 <!-- test results are displayed in the html:body -->
12 <body xmlns="http://www.w3.org/1999/xhtml">
13 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=640158"
14 target="_blank">Mozilla Bug 640158</a>
15 </body>
16
17 <!-- test code goes here -->
18 <script type="application/javascript"><![CDATA[
19
20 SimpleTest.waitForExplicitFinish();
21 window.onload = function onload() {
22 is($("foo").getAttribute("testattr"), "original", "Attribute should be in original state");
23 // Change and persist another value:
24 $("foo").setAttribute("testattr", "changed");
25 document.persist("foo", "testattr");
26 $("foo").setAttribute("testattr", "original");
27
28 // Hacky times: check that items which are overlaid do get persisted into correctly,
29 // by first creating an extra element and persisting the value before loading an
30 // overlay that changes that value - the persisted value should be reinstated.
31 let root = document.documentElement;
32 let bar = document.createElement("box");
33 bar.id = "bar";
34 bar.setAttribute("testattr", "changed"); // The overlay we load has 'original'
35 root.appendChild(bar);
36 document.persist("bar", "testattr");
37 document.loadOverlay(location.href.replace(/[^\\\/]*.xul/, "overlay_bug640158.xul"), function() {
38 is($("foo").getAttribute("testattr"), "original",
39 "Non-overlaid attribute should still be in original state");
40 is($("bar").getAttribute("testattr"), "changed",
41 "Overlaid attribute should have been changed.");
42 SimpleTest.finish();
43 });
44 }
45
46 ]]></script>
47
48 <box id="foo" testattr="original"/>
49
50 </window>
51

mercurial