summaryrefslogtreecommitdiff
path: root/toolkit/content/tests/chrome/test_deck.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/test_deck.xul')
-rw-r--r--toolkit/content/tests/chrome/test_deck.xul133
1 files changed, 0 insertions, 133 deletions
diff --git a/toolkit/content/tests/chrome/test_deck.xul b/toolkit/content/tests/chrome/test_deck.xul
deleted file mode 100644
index 25c59c38a9..0000000000
--- a/toolkit/content/tests/chrome/test_deck.xul
+++ /dev/null
@@ -1,133 +0,0 @@
-<?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 deck
- -->
-<window title="Deck Test"
- onload="setTimeout(run_tests, 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>
-
-<deck id="deck1" style="padding-top: 5px; padding-bottom: 12px;">
- <button id="d1b1" label="Button One"/>
- <button id="d1b2" label="Button Two is larger" height="80" style="margin: 1px;"/>
-</deck>
-<deck id="deck2" selectedIndex="1">
- <button id="d2b1" label="Button One"/>
- <button id="d2b2" label="Button Two"/>
-</deck>
-<deck id="deck3" selectedIndex="1">
- <button id="d3b1" label="Remove me"/>
- <button id="d3b2" label="Keep me selected"/>
-</deck>
-<deck id="deck4" selectedIndex="5">
- <button id="d4b1" label="Remove me"/>
- <button id="d4b2" label="Remove me"/>
- <button id="d4b3" label="Remove me"/>
- <button id="d4b4" label="Button 4"/>
- <button id="d4b5" label="Button 5"/>
- <button id="d4b6" label="Keep me selected"/>
- <button id="d4b7" label="Button 7"/>
-</deck>
-<deck id="deck5" selectedIndex="2">
- <button id="d5b1" label="Button 1"/>
- <button id="d5b2" label="Button 2"/>
- <button id="d5b3" label="Keep me selected"/>
- <button id="d5b4" label="Remove me"/>
- <button id="d5b5" label="Remove me"/>
- <button id="d5b6" label="Remove me"/>
-</deck>
- <!-- 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 run_tests() {
- test_deck();
- test_deck_child_removal();
- SimpleTest.finish();
-}
-
-function test_deck()
-{
- var deck = $("deck1");
- ok(deck.selectedIndex === '0', "deck one selectedIndex");
- // this size is the button height, 80, plus the button padding of 1px on each side,
- // plus the deck's 5px top padding and the 12px bottom padding.
- var rect = deck.getBoundingClientRect();
- is(Math.round(rect.bottom) - Math.round(rect.top), 99, "deck size of largest child");
- synthesizeMouseExpectEvent(deck, 12, 12, { }, $("d1b1"), "click", "mouse on deck one");
-
- // change the selected page of the deck and ensure that the mouse click goes
- // to the button on that page
- deck.selectedIndex = 1;
- ok(deck.selectedIndex === '1', "deck one selectedIndex after change");
- synthesizeMouseExpectEvent(deck, 9, 9, { }, $("d1b2"), "click", "mouse on deck one after change");
-
- deck = $("deck2");
- ok(deck.selectedIndex === '1', "deck two selectedIndex");
- synthesizeMouseExpectEvent(deck, 9, 9, { }, $("d2b2"), "click", "mouse on deck two");
-}
-
-function test_deck_child_removal()
-{
- // Start with a simple case where we have two child nodes in a deck, with
- // the second child (index 1) selected. Removing the first node should
- // automatically set the selectedIndex at 0.
- let deck = $("deck3");
- let child = $("d3b1");
- is(deck.selectedIndex, "1", "Should have the deck element at index 1 selected");
-
- // Remove the child at the 0th index. The deck should automatically
- // set the selectedIndex to "0".
- child.remove();
- is(deck.selectedIndex, "0", "Should have the deck element at index 0 selected");
-
- // Now scale it up by using a deck with 7 child nodes, and remove the
- // first three, making sure that the selectedIndex is decremented
- // each time.
- deck = $("deck4");
- let expectedIndex = 5;
- is(deck.selectedIndex, String(expectedIndex),
- "Should have the deck element at index " + expectedIndex + " selected");
-
- for (let i = 0; i < 3; ++i) {
- deck.firstChild.remove();
- expectedIndex--;
- is(deck.selectedIndex, String(expectedIndex),
- "Should have the deck element at index " + expectedIndex + " selected");
- }
-
- // Check that removing the currently selected node doesn't change
- // behaviour.
- deck.childNodes[expectedIndex].remove();
- is(deck.selectedIndex, String(expectedIndex),
- "The selectedIndex should not change when removing the node " +
- "at the selected index.");
-
- // Finally, make sure we haven't changed the behaviour when removing
- // nodes at indexes greater than the selected node.
- deck = $("deck5");
- expectedIndex = 2;
- is(deck.selectedIndex, String(expectedIndex),
- "Should have the deck element at index " + expectedIndex + " selected");
-
- // And then remove all of the nodes, starting from last to first, making
- // sure that the selectedIndex does not change.
- while (deck.lastChild) {
- deck.lastChild.remove();
- is(deck.selectedIndex, String(expectedIndex),
- "Should have the deck element at index " + expectedIndex + " selected");
- }
-}
-]]>
-</script>
-
-</window>