Reland bug 746164, bug 746176, bug 746177, bug 746178, bug 746183, bug 746519, bug 746531 with bustage fix, bug 746534, bug 746970, bug 746971, bug 746974, and bug 746977
authorMarco Zehe <mzehe@mozilla.com>
Thu, 26 Apr 2012 14:25:23 +0200
changeset 92500 175a8c81e3ff94fe43ce078f680e759e0180db38
parent 92499 cc0e289b9f34af9abd645805ef0e24d6cbf1c40c
child 92501 e2e9bb4029fd92156990553c680cd8fee3d769e8
push id8713
push usermzehe@mozilla.com
push dateThu, 26 Apr 2012 12:25:52 +0000
treeherdermozilla-inbound@175a8c81e3ff [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs746164, 746176, 746177, 746178, 746183, 746519, 746531, 746534, 746970, 746971, 746974, 746977
milestone15.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Reland bug 746164, bug 746176, bug 746177, bug 746178, bug 746183, bug 746519, bug 746531 with bustage fix, bug 746534, bug 746970, bug 746971, bug 746974, and bug 746977
accessible/tests/mochitest/actions/test_keys.html
accessible/tests/mochitest/bounds/test_zoom.html
accessible/tests/mochitest/events/test_focus_autocomplete.xul
accessible/tests/mochitest/events/test_focus_browserui.xul
accessible/tests/mochitest/events/test_focus_contextmenu.xul
accessible/tests/mochitest/events/test_focus_general.html
accessible/tests/mochitest/events/test_focus_general.xul
accessible/tests/mochitest/events/test_focus_listcontrols.xul
accessible/tests/mochitest/events/test_focus_selects.html
accessible/tests/mochitest/events/test_focus_tabbox.xul
accessible/tests/mochitest/hittest/test_general.html
accessible/tests/mochitest/hittest/test_zoom.html
accessible/tests/mochitest/tree/test_cssoverflow.html
--- a/accessible/tests/mochitest/actions/test_keys.html
+++ b/accessible/tests/mochitest/actions/test_keys.html
@@ -21,18 +21,18 @@
 
       is(acc.keyboardShortcut, aKey,
          "Wrong keyboard shortcut on " + prettyName(aAccOrElmOrID));
     }
 
     function doTest()
     {
       testKeyboardShortcut("input1", "");
-      testKeyboardShortcut("input2", MAC ? "⌃%b" : "Alt+Shift+b");
-      testKeyboardShortcut("link", MAC ? "⌃%l" : "Alt+Shift+l");
+      testKeyboardShortcut("input2", MAC ? "⌃⌥b" : "Alt+Shift+b");
+      testKeyboardShortcut("link", MAC ? "⌃⌥l" : "Alt+Shift+l");
 
       SimpleTest.finish();
     }
 
     SimpleTest.waitForExplicitFinish();
     addA11yLoadEvent(doTest);
   </script>
 
--- a/accessible/tests/mochitest/bounds/test_zoom.html
+++ b/accessible/tests/mochitest/bounds/test_zoom.html
@@ -17,16 +17,24 @@
   <script type="application/javascript"
           src="../layout.js"></script>
   <script type="application/javascript"
           src="../browser.js"></script>
 
   <script type="application/javascript">
     function doTest()
     {
+      // Bug 746176: Failure of this whole test file on OS X.
+      if (MAC) {
+        todo(false, "Fix bug 746176 on Mac");
+        closeBrowserWindow();
+        SimpleTest.finish();
+        return;
+      }
+
       var tabDocument = currentTabDocument();
       var p1 = tabDocument.getElementById("p1");
       var p2 = tabDocument.getElementById("p2");
 
       var imgMap = tabDocument.getElementById("imgmap");
       ensureImageMapTree(imgMap);
       var imgMapAcc = getAccessible(imgMap);
       var area = imgMapAcc.firstChild;
--- a/accessible/tests/mochitest/events/test_focus_autocomplete.xul
+++ b/accessible/tests/mochitest/events/test_focus_autocomplete.xul
@@ -379,18 +379,18 @@
     // Tests
 
     //gA11yEventDumpID = "eventdump"; // debug stuff
     //gA11yEventDumpToConsole = true; // debug stuff
 
     var gInitQueue = null;
     function initTests()
     {
-      if (SEAMONKEY) {
-        todo(false, "Skipping this test on SeaMonkey ftb. (Bug 718237)");
+      if (SEAMONKEY || MAC) {
+        todo(false, "Skipping this test on SeaMonkey ftb. (Bug 718237), and on Mac (bug 746177)");
         shutdownAutoComplete();
         SimpleTest.finish();
         return;
       }
 
       gInitQueue = new eventQueue();
       gInitQueue.push(new loadFormAutoComplete("iframe"));
       gInitQueue.push(new initFormAutoCompleteBy("iframe", "hello"));
--- a/accessible/tests/mochitest/events/test_focus_browserui.xul
+++ b/accessible/tests/mochitest/events/test_focus_browserui.xul
@@ -91,23 +91,27 @@
                                browserWindow()));
 
       // open new url, focus moves to new document
       gQueue.push(new loadURI(gButtonDocURI));
 
       // back one page in history, moves moves on input of tab document
       gQueue.push(new goBack());
 
+if (!MAC) {
       // open new tab, focus moves to urlbar
       gQueue.push(new synthKey(tabDocument, "t", { ctrlKey: true, window: browserWindow() },
                                new focusChecker(urlbarInput)));
 
       // close open tab, focus goes on input of tab document
       gQueue.push(new synthKey(tabDocument, "w", { ctrlKey: true, window: browserWindow() },
                                new focusChecker(inputInDocument)));
+} else {
+      todo(false, "Reenable on Mac after fixing bug 746178!");
+}
 
       gQueue.onFinish = function()
       {
         closeBrowserWindow();
       }
       gQueue.invoke();
     }
 
--- a/accessible/tests/mochitest/events/test_focus_contextmenu.xul
+++ b/accessible/tests/mochitest/events/test_focus_contextmenu.xul
@@ -22,16 +22,23 @@
 
   <script type="application/javascript">
     //gA11yEventDumpID = "eventdump"; // debug stuff
     //gA11yEventDumpToConsole = true; // debug stuff
 
     var gQueue = null;
     function doTests()
     {
+      // bug 746183 - Whole file times out on OS X
+      if (MAC) {
+        todo(false, "Reenable on mac after fixing bug 746183!");
+        SimpleTest.finish();
+        return;
+      }
+
       // Test focus events.
       gQueue = new eventQueue();
 
       gQueue.push(new synthFocus("button"));
       gQueue.push(new synthContextMenu("button",
                                        new invokerChecker(EVENT_MENUPOPUP_START, "contextmenu")));
       gQueue.push(new synthEscapeKey("contextmenu", new focusChecker("button")));
 
--- a/accessible/tests/mochitest/events/test_focus_general.html
+++ b/accessible/tests/mochitest/events/test_focus_general.html
@@ -104,18 +104,18 @@
         gQueue.push(new toggleTopMenu(editableDoc, new focusChecker(editableDoc)));
       }
       gQueue.push(new synthContextMenu(editableDoc, new contextMenuChecker()));
       gQueue.push(new synthDownKey(editableDoc, new focusContextMenuItemChecker()));
       gQueue.push(new synthEscapeKey(editableDoc, new focusChecker(editableDoc)));
       if (SEAMONKEY) {
         todo(false, "shift tab from editable document fails on (Windows) SeaMonkey! (Bug 718235)");
       } else {
-      if (LINUX)
-        todo(false, "shift tab from editable document fails on linux!");
+      if (LINUX || MAC)
+        todo(false, "shift tab from editable document fails on linux and Mac, bug 746519!");
       else
         gQueue.push(new synthShiftTab("link", new focusChecker("link")));
       } // ! SEAMONKEY
 
       gQueue.invoke(); // Will call SimpleTest.finish();
     }
 
     SimpleTest.waitForExplicitFinish();
--- a/accessible/tests/mochitest/events/test_focus_general.xul
+++ b/accessible/tests/mochitest/events/test_focus_general.xul
@@ -68,32 +68,36 @@
       gQueue.push(new synthClick("popupbutton", new nofocusChecker()));
       // select first menu item ("item 1"), focus on menu item
       gQueue.push(new synthDownKey("popupbutton", new focusChecker("bp_item1")));
       // choose select menu item, focus gets back to menubutton
       gQueue.push(new synthEnterKey("bp_item1", new focusChecker("menubutton")));
       // show popup again for the next test
       gQueue.push(new synthClick("popupbutton", new nofocusChecker()));
 
+if (MAC) {
       // click menubutton of the 'menubutton' button while popup of button open.
       gQueue.push(new synthClick("mbb", new focusChecker("mbb"), { where: "right" }));
       // close popup, focus stays on menubutton, fire focus event
       gQueue.push(new synthEscapeKey("mbb", new focusChecker("mbb")));
       // click menubutton, open popup, focus stays on menubutton
       gQueue.push(new synthClick("mbb", new nofocusChecker(), { where: "right" }));
       // select first menu item ("item 1"), focus on menu item
       gQueue.push(new synthDownKey("mbb", new focusChecker("mbb_item1")));
       // choose select menu item, focus gets back to menubutton
       gQueue.push(new synthEnterKey("mbb_item1", new focusChecker("mbb")));
       // open popup, focus stays on menubutton
       gQueue.push(new synthOpenComboboxKey("mbb", new nofocusChecker()));
       // select second menu item ("item 2"), focus on menu item
       gQueue.push(new synthUpKey("menubutton", new focusChecker("mbb_item2")));
       // click on menu item of menubutton menu, focus menubutton
       gQueue.push(new synthClick("mbb_item2", new focusChecker("mbb")));
+} else {
+      todo(false, "mbb tests time out on OS X, fix bug 746970 and reenable!");
+}
 
       // focus colorpicker button
       gQueue.push(new synthFocus("colorpicker"));
       // click on button, open popup, focus goes to current color button
       var btnObj = { colorpicker: getAccessible("colorpicker"), btnIndex: 0 };
       var checker = new focusChecker(getColorBtn, btnObj);
       gQueue.push(new synthClick("colorpicker", checker));
       // select sibling color button, focus on it
--- a/accessible/tests/mochitest/events/test_focus_listcontrols.xul
+++ b/accessible/tests/mochitest/events/test_focus_listcontrols.xul
@@ -45,35 +45,41 @@
       gQueue.push(new synthFocus("multiselrichlistbox", new focusChecker("msrlb_item1")));
       gQueue.push(new synthDownKey("msrlb_item1", new focusChecker("msrlb_item2"), { shiftKey: true }));
       gQueue.push(new synthFocus("emptyrichlistbox", new focusChecker("emptyrichlistbox")));
 
       gQueue.push(new synthFocus("menulist"));
       gQueue.push(new synthClick("menulist", new focusChecker("ml_tangerine")));
       gQueue.push(new synthDownKey("ml_tangerine", new focusChecker("ml_marmalade")));
       gQueue.push(new synthEscapeKey("ml_marmalade", new focusChecker("menulist")));
+if (!MAC) {
       gQueue.push(new synthDownKey("menulist", new nofocusChecker("ml_marmalade")));
       gQueue.push(new synthOpenComboboxKey("menulist", new focusChecker("ml_marmalade")));
       gQueue.push(new synthEnterKey("ml_marmalade", new focusChecker("menulist")));
+} else {
+      todo(false, "Bug 746531 - timeouts of last three menulist tests on OS X");
+}
 
       var textentry = getAccessible("emenulist").firstChild;
       gQueue.push(new synthFocus("emenulist", new focusChecker(textentry)));
       gQueue.push(new synthDownKey(textentry, new nofocusChecker("eml_tangerine")));
       gQueue.push(new synthUpKey(textentry, new focusChecker("eml_marmalade")));
       gQueue.push(new synthEnterKey("eml_marmalade", new focusChecker(textentry)));
       gQueue.push(new synthOpenComboboxKey("emenulist", new focusChecker("eml_marmalade")));
       gQueue.push(new synthEscapeKey("eml_marmalade", new focusChecker(textentry)));
 
       // no focus events for unfocused list controls when current item is
       // changed.
       gQueue.push(new synthFocus("emptylistbox"));
 
       gQueue.push(new changeCurrentItem("listbox", "lb_item1"));
       gQueue.push(new changeCurrentItem("richlistbox", "rlb_item1"));
+if (!MAC) {
       gQueue.push(new changeCurrentItem("menulist", "ml_tangerine"));
+}
       gQueue.push(new changeCurrentItem("emenulist", "eml_tangerine"));
 
       gQueue.invoke(); // Will call SimpleTest.finish();
     }
 
     SimpleTest.waitForExplicitFinish();
     addA11yLoadEvent(doTests);
   </script>
--- a/accessible/tests/mochitest/events/test_focus_selects.html
+++ b/accessible/tests/mochitest/events/test_focus_selects.html
@@ -23,16 +23,23 @@
   <script type="application/javascript">
     //gA11yEventDumpID = "eventdump"; // debug stuff
     //gA11yEventDumpToConsole = true;
 
     var gQueue = null;
 
     function doTests()
     {
+      // Bug 746534 - File causes crash or hang on OS X
+      if (MAC) {
+        todo(false, "Bug 746534 - test file causes crash or hang on OS X");
+        SimpleTest.finish();
+        return;
+      }
+
       gQueue = new eventQueue();
 
       // first item is focused until there's selection
       gQueue.push(new synthFocus("list", new focusChecker("orange")));
 
       // item is selected and stays focused
       gQueue.push(new synthDownKey("list", new nofocusChecker()));
 
--- a/accessible/tests/mochitest/events/test_focus_tabbox.xul
+++ b/accessible/tests/mochitest/events/test_focus_tabbox.xul
@@ -22,16 +22,22 @@
 
   <script type="application/javascript">
     //gA11yEventDumpID = "eventdump"; // debug stuff
     //gA11yEventDumpToConsole = true; // debug stuff
 
     var gQueue = null;
     function doTests()
     {
+      if (MAC) {
+        todo(false, "Tests disabled because of imminent failure.");
+        SimpleTest.finish();
+        return;
+      }
+
       // Test focus events.
       gQueue = new eventQueue();
 
       gQueue.push(new synthClick("tab1", new focusChecker("tab1")));
       gQueue.push(new synthTab("tab1", new focusChecker("checkbox1")));
       gQueue.push(new synthKey("tab1", "VK_TAB", { ctrlKey: true },
                                new focusChecker("textbox")));
       gQueue.push(new synthKey("tab2", "VK_TAB", { ctrlKey: true },
--- a/accessible/tests/mochitest/hittest/test_general.html
+++ b/accessible/tests/mochitest/hittest/test_general.html
@@ -14,17 +14,21 @@
 
   <script type="application/javascript">
     function doTest()
     {
       // Not specific case, child and deepchild testing.
       var list = getAccessible("list");
       var listitem = getAccessible("listitem");
       var image = getAccessible("image");
+if (!MAC) {
       testChildAtPoint(list, 1, 1, listitem, image.firstChild);
+} else {
+      todo(false, "Bug 746974 - children must match on all platforms, disable failing test on Mac");
+}
 
       // ::MustPrune case (in this case childAtPoint doesn't look inside a
       // textbox), point is inside of textbox.
       var txt = getAccessible("txt");
       testChildAtPoint(txt, 1, 1, txt, txt);
 
       // ::MustPrune case, point is outside of textbox accessible but is in
       // document.
--- a/accessible/tests/mochitest/hittest/test_zoom.html
+++ b/accessible/tests/mochitest/hittest/test_zoom.html
@@ -15,29 +15,33 @@
   <script type="application/javascript"
           src="../layout.js"></script>
   <script type="application/javascript"
           src="../browser.js"></script>
 
   <script type="application/javascript">
     function doTest()
     {
+if (!MAC) {
       var tabDocument = currentTabDocument();
       var p1 = tabDocument.body.firstElementChild;
       var p2 = tabDocument.body.lastElementChild;
 
       hitTest(tabDocument, p1, p1.firstChild);
       hitTest(tabDocument, p2, p2.firstChild);
 
       zoomDocument(tabDocument, 2.0);
 
       hitTest(tabDocument, p1, p1.firstChild);
       hitTest(tabDocument, p2, p2.firstChild);
 
       closeBrowserWindow();
+} else {
+      todo(false, "Bug 746974 - deepest child must be correct on all platforms, disabling on Mac!");
+}
       SimpleTest.finish();
     }
 
     SimpleTest.waitForExplicitFinish();
     openBrowserWindow(doTest,
                       "data:text/html,<html><body><p>para 1</p><p>para 2</p></body></html>",
                       { left: 100, top: 100 });
   </script>
--- a/accessible/tests/mochitest/tree/test_cssoverflow.html
+++ b/accessible/tests/mochitest/tree/test_cssoverflow.html
@@ -82,16 +82,23 @@
     // Do tests
 
     var gQueue = null;
     //gA11yEventDumpID = "eventdump"; // debug stuff
     //gA11yEventDumpToConsole = true;
 
     function doTests()
     {
+      // Shift+Tab not working, and a test timeout, bug 746977
+      if (MAC) {
+        todo(false, "Shift+tab isn't working on OS X, needs to be disabled until bug 746977 is fixed!");
+        SimpleTest.finish();
+        return;
+      }
+
       gQueue = new eventQueue();
 
       // CSS 'overflow: scroll' property setting and unsetting causes accessible
       // recreation (and fire show/hide events). For example, the focus and
       // blur of HTML:a with ':focus {overflow: scroll; }' CSS style causes its
       // accessible recreation. The focus event should be fired on new
       // accessible.
       gQueue.push(new focusAnchor("a"));