зеркало из https://github.com/mozilla/gecko-dev.git
90 строки
2.7 KiB
XML
90 строки
2.7 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
|
<?xml-stylesheet href="data:text/css,window > |people { display: none }" type="text/css"?>
|
|
<!--
|
|
XUL Widget Test for tabindex
|
|
-->
|
|
<window title="tabindex" width="500" height="600"
|
|
onfocus="runTest()"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
|
|
|
|
<people id="famouspeople" xmlns="">
|
|
<person name="Napoleon Bonaparte" gender="male"/>
|
|
<person name="Cleopatra" gender="female"/>
|
|
<person name="Julius Caesar" gender="male"/>
|
|
<person name="Ferdinand Magellan" gender="male"/>
|
|
<person name="Laura Secord" gender="female"/>
|
|
</people>
|
|
|
|
<tree id="tree" datasources="#famouspeople" ref="*" querytype="xml" flex="1">
|
|
<treecols>
|
|
<treecol label="Name" flex="1" sort="?name"/>
|
|
<treecol label="Gender" flex="1" sort="?gender"/>
|
|
</treecols>
|
|
<template>
|
|
<query/>
|
|
<rule>
|
|
<action>
|
|
<treechildren id="treechildren-strings">
|
|
<treeitem uri="?">
|
|
<treerow>
|
|
<treecell label="?name"/>
|
|
<treecell label="?gender"/>
|
|
</treerow>
|
|
</treeitem>
|
|
</treechildren>
|
|
</action>
|
|
</rule>
|
|
</template>
|
|
</tree>
|
|
|
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
</div>
|
|
<pre id="test">
|
|
</pre>
|
|
</body>
|
|
|
|
<script>
|
|
<![CDATA[
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function runTest()
|
|
{
|
|
var tree = $("tree");
|
|
var col = tree.columns[0].element;
|
|
synthesizeMouse(col, 12, 2, { });
|
|
checkRowOrder(tree, ["Cleopatra", "Ferdinand Magellan", "Julius Caesar", "Laura Secord", "Napoleon Bonaparte"], "acsending");
|
|
|
|
synthesizeMouse(col, 12, 2, { });
|
|
checkRowOrder(tree, ["Napoleon Bonaparte", "Laura Secord", "Julius Caesar", "Ferdinand Magellan", "Cleopatra"], "descending");
|
|
|
|
synthesizeMouse(col, 12, 2, { });
|
|
checkRowOrder(tree, ["Napoleon Bonaparte", "Laura Secord", "Julius Caesar", "Ferdinand Magellan", "Cleopatra"], "natural");
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
function checkRowOrder(tree, expected, testid)
|
|
{
|
|
var index = 0;
|
|
var item = tree.firstChild.nextSibling.nextSibling.firstChild;
|
|
while (item && index < expected.length) {
|
|
if (item.firstChild.firstChild.getAttribute("label") != expected[index++])
|
|
break;
|
|
item = item.nextSibling;
|
|
}
|
|
ok(index == expected.length && !item, testid + " row order");
|
|
}
|
|
|
|
]]>
|
|
|
|
</script>
|
|
|
|
</window>
|