Bug 719754 - rewrite name/test_nsRootAcc.xul, r=marcoz

--HG--
rename : accessible/tests/mochitest/name/test_nsRootAcc.xul => accessible/tests/mochitest/name/test_browserui.xul
This commit is contained in:
Alexander Surkov 2012-02-03 20:19:17 +09:00
parent 4956afc425
commit d5c89b63ec
6 changed files with 115 additions and 195 deletions

View File

@ -25,6 +25,14 @@ function browserWindow()
return gBrowserContext.browserWnd;
}
/**
* Return the document of the browser window.
*/
function browserDocument()
{
return browserWindow().document;
}
/**
* Return tab browser object.
*/

View File

@ -45,8 +45,6 @@ relativesrcdir = accessible/events
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/rules.mk
# test_scroll.xul disabled for misusing <tabbrowser> (bug 715857)
_TEST_FILES =\
docload_wnd.html \
focus.html \

View File

@ -45,8 +45,6 @@ relativesrcdir = accessible/name
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/rules.mk
# test_nsRootAcc.xul, nsRootAcc_wnd.xul disabled for misusing <tabbrowser> (bug 715857)
_TEST_FILES =\
general.css \
general.xbl \
@ -57,6 +55,7 @@ _TEST_FILES =\
test_link.html \
test_list.html \
test_markup.html \
test_browserui.xul \
test_tree.xul \
markuprules.xml \
$(NULL)

View File

@ -1,128 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<!-- Firefox tabbrowser -->
<?xml-stylesheet href="chrome://browser/content/browser.css"
type="text/css"?>
<!-- SeaMonkey tabbrowser -->
<?xml-stylesheet href="chrome://navigator/content/navigator.css"
type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript"
src="chrome://browser/content/utilityOverlay.js"/>
<script type="application/javascript">
<![CDATA[
var gOpenerWnd = window.opener.wrappedJSObject;
function ok(aCond, aMsg) {
gOpenerWnd.SimpleTest.ok(aCond, aMsg);
}
function is(aExpected, aActual, aMsg) {
gOpenerWnd.SimpleTest.is(aExpected, aActual, aMsg);
}
// Hacks to make xul:tabbrowser work.
var handleDroppedLink = null; // needed for tabbrowser usage
Components.utils.import("resource://gre/modules/Services.jsm");
var XULBrowserWindow = {
isBusy: false,
setOverLink: function (link, b) {
}
};
gFindBarInitialized = false;
////////////////////////////////////////////////////////////////////////////
// Invoker implementation.
function switchTabSelectChecker(aInvoker)
{
this.type = "select";
Object.defineProperty(this, "target", { get: function() { return aInvoker.getTabsElm(); }});
this.getID = function() { return "switch tab, select event"; }
}
function switchTabFocusChecker(aInvoker)
{
this.type = gOpenerWnd.EVENT_FOCUS;
Object.defineProperty(this, "target", { get: function() { return aInvoker.getContentDoc(); }});
this.check = function(aEvent)
{
is(gOpenerWnd.getAccessible(document).name, "about:mozilla" + aEvent.accessible.name,
"Oops almost :)");
}
this.getID = function() { return "switch tab, focus event"; }
}
function switchTabInvoker(aTabBrowser, aWindow)
{
this.invoke = function switchTabInvoker_invoke()
{
gOpenerWnd.synthesizeKey("VK_TAB", { ctrlKey: true }, aWindow);
}
this.eventSeq = [
new switchTabSelectChecker(this),
new switchTabFocusChecker(this)
];
this.getContentDoc = function switchTabInvoker_getContentDoc()
{
return aTabBrowser.getBrowserAtIndex(1).contentDocument;
}
this.getTabsElm = function switchTabInvoker_getTabsElm()
{
return aTabBrowser.tabContainer;
}
}
////////////////////////////////////////////////////////////////////////////
// Tests
var gQueue = null;
const Ci = Components.interfaces;
function doTest()
{
var tabBrowser = document.getElementById("content");
tabBrowser.loadURI("about:");
tabBrowser.addTab("about:mozilla");
gQueue = new gOpenerWnd.eventQueue();
gQueue.push(new switchTabInvoker(tabBrowser, window));
gQueue.onFinish = function() { window.close(); }
gQueue.invoke();
}
gOpenerWnd.addA11yLoadEvent(doTest);
]]>
</script>
<!-- Hack to make xul:tabbrowser work -->
<menubar>
<menu label="menu">
<menupopup>
<menuitem label="close window hook" id="menu_closeWindow"/>
<menuitem label="close hook" id="menu_close"/>
</menupopup>
</menu>
</menubar>
<tabs id="tabbrowser-tabs" class="tabbrowser-tabs"
tabbrowser="content"
flex="1"
setfocus="false">
<tab class="tabbrowser-tab" selected="true"/>
</tabs>
<tabbrowser id="content"
type="content-primary"
tabcontainer="tabbrowser-tabs"
flex="1"/>
</window>

View File

@ -0,0 +1,106 @@
<?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"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Accessibility Name Calculating Test.">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../role.js"></script>
<script type="application/javascript"
src="../states.js"></script>
<script type="application/javascript"
src="../events.js"></script>
<script type="application/javascript"
src="../browser.js"></script>
<script type="application/javascript">
<![CDATA[
function addTab(aURL)
{
this.eventSeq = [
new invokerChecker(EVENT_DOCUMENT_LOAD_COMPLETE, tabDocumentAt, 1)
];
this.invoke = function addTab_invoke()
{
tabBrowser().addTab(aURL);
}
this.getID = function addTab_getID()
{
return "add tab: " + aURL;
}
}
function switchTab(aTabBrowser, aWindow)
{
this.invoke = function switchTab_invoke()
{
synthesizeKey("VK_TAB", { ctrlKey: true }, browserWindow());
}
this.eventSeq = [
new focusChecker(tabDocumentAt, 1)
];
this.check = function switchTab_check(aEvent)
{
var title = getAccessible(browserDocument()).name;
ok(title.indexOf(aEvent.accessible.name) != -1,
"Window title contains the name of active tab document");
}
this.getID = function switchTab_getID() { return "switch tab"; }
}
////////////////////////////////////////////////////////////////////////////
// Tests
//gA11yEventDumpID = "eventdump"; // debug stuff
//gA11yEventDumpToConsole = true; // debug
var gQueue = null;
function doTests()
{
gQueue = new eventQueue();
gQueue.push(new addTab("about:mozilla"));
gQueue.push(new switchTab());
gQueue.onFinish = function()
{
closeBrowserWindow();
}
gQueue.invoke();
}
SimpleTest.waitForExplicitFinish();
openBrowserWindow(doTests, "about:");
]]>
</script>
<vbox flex="1" style="overflow: auto;">
<body xmlns="http://www.w3.org/1999/xhtml">
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=507382"
title="focus is fired earlier than root accessible name is changed when switching between tabs">
Mozilla Bug
</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
<vbox id="eventdump"></vbox>
</vbox>
</window>

View File

@ -1,63 +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"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Accessibility Name Calculating Test.">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../role.js"></script>
<script type="application/javascript"
src="../events.js"></script>
<script type="application/javascript">
<![CDATA[
// var gA11yEventDumpID = "eventdump"; // debug stuff
function doTest()
{
todo(false, "Disabled test. (Bug 586818)");
SimpleTest.finish();
return;
if (LINUX) {
todo(false, "Skip test on Linux. (Bug 525175)");
SimpleTest.finish();
return;
}
var w = window.openDialog("nsRootAcc_wnd.xul",
"nsRootAcc_name_test",
"chrome,width=600,height=600");
}
SimpleTest.waitForExplicitFinish();
addLoadEvent(doTest);
]]>
</script>
<vbox flex="1" style="overflow: auto;">
<body xmlns="http://www.w3.org/1999/xhtml">
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=507382"
title="focus is fired earlier than root accessible name is changed when switching between tabs">
Mozilla Bug
</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>
<vbox id="eventdump"></vbox>
</vbox>
</window>