зеркало из https://github.com/mozilla/pjs.git
92 строки
3.5 KiB
XML
92 строки
3.5 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"?>
|
|
<!--
|
|
XUL Widget Test for basic properties - this test checks that the basic
|
|
properties defined in general.xml and inherited by a number of elements
|
|
work properly.
|
|
-->
|
|
<window title="Basic Properties Test"
|
|
onload="setTimeout(test_props, 0);"
|
|
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>
|
|
|
|
<command id="cmd_nothing"/>
|
|
<command id="cmd_action"/>
|
|
|
|
<button id="button" label="Button" accesskey="B"
|
|
crop="end" image="happy.png" command="cmd_nothing"/>
|
|
<checkbox id="checkbox" label="Checkbox" accesskey="B"
|
|
crop="end" image="happy.png" command="cmd_nothing"/>
|
|
<radiogroup>
|
|
<radio id="radio" label="Radio Button" value="rb1" accesskey="B"
|
|
crop="end" image="happy.png" command="cmd_nothing"/>
|
|
</radiogroup>
|
|
|
|
<!-- test results are displayed in the html:body -->
|
|
<body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
|
|
|
|
<!-- test code goes here -->
|
|
<script type="application/javascript"><![CDATA[
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function test_props()
|
|
{
|
|
test_props_forelement($("button"), "Button", null);
|
|
test_props_forelement($("checkbox"), "Checkbox", null);
|
|
test_props_forelement($("radio"), "Radio Button", "rb1");
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
function test_props_forelement(element, label, value)
|
|
{
|
|
// check the initial values
|
|
is(element.label, label, "element label");
|
|
if (value)
|
|
is(element.value, value, "element value");
|
|
is(element.accessKey, "B", "element accessKey");
|
|
is(element.crop, "end", "element crop");
|
|
is(element.image, "happy.png", "element image");
|
|
is(element.command, "cmd_nothing", "element command");
|
|
ok(element.tabIndex === 0, "element tabIndex");
|
|
|
|
synthesizeMouseExpectEvent(element, 4, 4, { }, $("cmd_nothing"), "command", "element");
|
|
|
|
// make sure that setters return the value
|
|
is(element.label = "Label", "Label", "element label setter return");
|
|
if (value)
|
|
is(element.value = "lb", "lb", "element value setter return");
|
|
is(element.accessKey = "L", "L", "element accessKey setter return");
|
|
is(element.crop = "start", "start", "element crop setter return");
|
|
is(element.image = "sad.png", "sad.png", "element image setter return");
|
|
is(element.command = "cmd_action", "cmd_action", "element command setter return");
|
|
|
|
// check the value after it was changed
|
|
is(element.label, "Label", "element label after set");
|
|
if (value)
|
|
is(element.value, "lb", "element value after set");
|
|
is(element.accessKey, "L", "element accessKey after set");
|
|
is(element.crop, "start", "element crop after set");
|
|
is(element.image, "sad.png", "element image after set");
|
|
is(element.command, "cmd_action", "element command after set");
|
|
|
|
synthesizeMouseExpectEvent(element, 4, 4, { }, $("cmd_action"), "command", "element");
|
|
|
|
// check that clicks on disabled items don't fire a command event
|
|
ok((element.disabled = true) === true, "element disabled setter return");
|
|
ok(element.disabled === true, "element disabled after set");
|
|
synthesizeMouseExpectEvent(element, 4, 4, { }, $("cmd_action"), "!command", "element");
|
|
|
|
element.disabled = false;
|
|
}
|
|
|
|
]]>
|
|
</script>
|
|
|
|
</window>
|