diff options
Diffstat (limited to 'accessible/tests/mochitest/treeupdate/test_list.html')
-rw-r--r-- | accessible/tests/mochitest/treeupdate/test_list.html | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/accessible/tests/mochitest/treeupdate/test_list.html b/accessible/tests/mochitest/treeupdate/test_list.html new file mode 100644 index 0000000000..9196142d9b --- /dev/null +++ b/accessible/tests/mochitest/treeupdate/test_list.html @@ -0,0 +1,152 @@ +<!DOCTYPE html> +<html> + +<head> + <title>Test HTML li and listitem bullet accessible cache</title> + <link rel="stylesheet" type="text/css" + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + + <script type="application/javascript" + src="../common.js"></script> + <script type="application/javascript" + src="../role.js"></script> + <script type="application/javascript" + src="../events.js"></script> + + <script type="application/javascript"> + + //////////////////////////////////////////////////////////////////////////// + // Helpers + + function testLiAccessibleTree() + { + // Test accessible tree. + var accTree = { + role: ROLE_LISTITEM, + children: [ + { + role: ROLE_STATICTEXT, + children: [] + }, + { + role: ROLE_TEXT_LEAF, + children: [] + } + ] + }; + + testAccessibleTree("li", accTree); + } + + //////////////////////////////////////////////////////////////////////////// + // Sequence item processors + + function hideProcessor() + { + this.liNode = getNode("li"); + this.li = getAccessible(this.liNode); + this.bullet = this.li.firstChild; + + this.process = function hideProcessor_process() + { + this.liNode.style.display = "none"; + } + + this.onProcessed = function hideProcessor_onProcessed() + { + window.setTimeout( + function(aLiAcc, aLiNode, aBulletAcc) + { + testDefunctAccessible(aLiAcc, aLiNode); + testDefunctAccessible(aBulletAcc); + + gSequence.processNext(); + }, + 0, this.li, this.liNode, this.bullet + ); + } + }; + + function showProcessor() + { + this.liNode = getNode("li"); + + this.process = function showProcessor_process() + { + this.liNode.style.display = "list-item"; + } + + this.onProcessed = function showProcessor_onProcessed() + { + testLiAccessibleTree(); + gSequence.processNext(); + } + }; + + function textReplaceProcessor() + { + this.liNode = getNode("li"); + + this.process = function textReplaceProcessor_process() + { + this.liNode.textContent = "hey"; + } + + this.onProcessed = function textReplaceProcessor_onProcessed() + { + var tree = { + LISTITEM: [ + { STATICTEXT: [] }, + { TEXT_LEAF: [] } + ] + }; + testAccessibleTree(this.liNode, tree); + SimpleTest.finish(); + } + }; + + //////////////////////////////////////////////////////////////////////////// + // Test + + //gA11yEventDumpToConsole = true; + + var gSequence = null; + function doTest() + { + testLiAccessibleTree(); + + gSequence = new sequence(); + + gSequence.append(new hideProcessor(), EVENT_HIDE, getAccessible("li"), + "hide HTML li"); + gSequence.append(new showProcessor(), EVENT_SHOW, getNode("li"), + "show HTML li"); + gSequence.append(new textReplaceProcessor(), EVENT_REORDER, getNode("li"), + "change text of HTML li"); + + gSequence.processNext(); // SimpleTest.finish() will be called in the end + } + + SimpleTest.waitForExplicitFinish(); + addA11yLoadEvent(doTest); + </script> +</head> +<body> + + <a target="_blank" + title="setParent shouldn't be virtual" + href="https://bugzilla.mozilla.org/show_bug.cgi?id=496783">Mozilla Bug 496783</a> + + <p id="display"></p> + <div id="content" style="display: none"></div> + <pre id="test"> + </pre> + + <ul> + <li id="li">item1</li> + </ul> +</body> +</html> |