Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
type="text/css"?>
title="Accessible XUL tree hierarchy tests">
<script type="application/javascript"
src="../treeview.js" />
<script type="application/javascript"
src="../common.js" />
<script type="application/javascript"
src="../role.js" />
<script type="application/javascript"
src="../states.js" />
<script type="application/javascript"
src="../events.js" />
<script type="application/javascript">
<![CDATA[
function setXULTreeView(aTreeID, aTreeView)
{
this.treeNode = getNode(aTreeID);
this.eventSeq = [
new invokerChecker(EVENT_REORDER, this.treeNode)
];
this.invoke = function loadXULTree_invoke()
{
this.treeNode.view = aTreeView;
};
this.getID = function loadXULTree_getID()
{
return "Load XUL tree " + prettyName(aTreeID);
};
}
function removeTree(aID)
{
this.tree = getAccessible(aID);
this.lastItem = null;
this.eventSeq = [
new invokerChecker(EVENT_REORDER, document)
];
this.invoke = function invoke()
{
this.lastItem = getAccessible(aID).lastChild;
this.lastCell = this.lastItem.lastChild;
getNode(aID).remove();
};
this.check = function check()
{
testIsDefunct(this.tree, aID);
testIsDefunct(this.lastItem, "last item of " + aID);
if (this.lastCell) {
testIsDefunct(this.lastCell, "last item cell of " + aID);
}
};
this.getID = function getID()
{
return "Remove tree from DOM";
};
}
////////////////////////////////////////////////////////////////////////////
// Test
// gA11yEventDumpID = "debug";
var gQueue = null;
function doTest()
{
gQueue = new eventQueue();
gQueue.push(new setXULTreeView("tree", new nsTreeTreeView()));
gQueue.push(new removeTree("tree"));
gQueue.push(new setXULTreeView("treetable", new nsTreeTreeView()));
gQueue.push(new removeTree("treetable"));
gQueue.invoke(); // Will call SimpleTest.finish()
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
]]>
</script>
<hbox flex="1" style="overflow: auto;">
<a target="_blank"
title="Reorganize implementation of XUL tree accessibility">
</a><br/>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
<vbox flex="1">
<tree id="tree" flex="1">
<treecols>
<treecol id="col" flex="1" primary="true" label="column"/>
</treecols>
<treechildren/>
</tree>
<tree id="treetable" flex="1">
<treecols>
<treecol id="col1" flex="1" primary="true" label="column"/>
<treecol id="col2" flex="1" label="column 2"/>
</treecols>
<treechildren/>
</tree>
</vbox>
</hbox>
</window>