зеркало из https://github.com/mozilla/pjs.git
bug 441519 - nsOuterDocAccessible chrome tests, r=surkov
This commit is contained in:
Родитель
8dec976c70
Коммит
81a06239c6
|
@ -62,6 +62,7 @@ _TEST_FILES =\
|
|||
test_nsIAccessibleHyperLink.xul \
|
||||
test_nsIAccessibleHyperText.html \
|
||||
test_nsIAccessibleImage.html \
|
||||
test_nsOuterDocAccessible.html \
|
||||
test_bug428479.html \
|
||||
test_bug429285.html \
|
||||
$(NULL)
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=441519
|
||||
-->
|
||||
<head>
|
||||
<title>nsOuterDocAccessible chrome tests</title>
|
||||
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
||||
|
||||
<script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
|
||||
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
||||
|
||||
<script type="application/javascript">
|
||||
const nsIAccessibleRetrieval = Components.interfaces.nsIAccessibleRetrieval;
|
||||
const nsIAccessibleRole = Components.interfaces.nsIAccessibleRole;
|
||||
|
||||
// needed state flag
|
||||
const state_focusable =
|
||||
Components.interfaces.nsIAccessibleStates.STATE_FOCUSABLE;
|
||||
|
||||
// needed error return value
|
||||
const ns_error_invalid_arg = Components.results.NS_ERROR_INVALID_ARG;
|
||||
|
||||
var gAccRetrieval = null;
|
||||
|
||||
function doTest()
|
||||
{
|
||||
gAccRetrieval = Components.classes["@mozilla.org/accessibleRetrieval;1"].
|
||||
getService(nsIAccessibleRetrieval);
|
||||
|
||||
// Get accessible for body tag.
|
||||
var docAcc = null;
|
||||
try {
|
||||
docAcc = gAccRetrieval.getAccessibleFor(document);
|
||||
} catch(e) {}
|
||||
ok(docAcc, "No accessible for document!");
|
||||
|
||||
if (docAcc) {
|
||||
var outerDocAcc = null;
|
||||
try {
|
||||
outerDocAcc = docAcc.parent;
|
||||
} catch(e) {}
|
||||
ok(outerDocAcc, "No internal frame parent for document!");
|
||||
|
||||
if (outerDocAcc) {
|
||||
is(outerDocAcc.role, nsIAccessibleRole.ROLE_INTERNAL_FRAME,
|
||||
"Wrong role for internal frame!");
|
||||
|
||||
// check if it is focusable, not desired.
|
||||
var state = {}, extraState = {}
|
||||
outerDocAcc.getFinalState(state, extraState);
|
||||
is(state.value & state_focusable, 0,
|
||||
"Wrong focusable state bit for internal frame!");
|
||||
|
||||
// see bug 428954: No name wanted for internal frame
|
||||
is(outerDocAcc.name, "", "Wrong name for internal frame!");
|
||||
|
||||
// see bug 440770, no actions wanted on outer doc
|
||||
is(outerDocAcc.numActions, 0,
|
||||
"Wrong number of actions for internal frame!");
|
||||
var actionTempStr; // not really used, just needs to receive a value
|
||||
try {
|
||||
actionTempStr = outerDocAcc.getActionName(0);
|
||||
do_throw("No exception thrown for actionName!");
|
||||
} catch(e) {
|
||||
ok(e.result, ns_error_invalid_arg,
|
||||
"Wrong return value for actionName call!");
|
||||
}
|
||||
|
||||
try {
|
||||
actionTempStr = outerDocAcc.getActionDescription(0);
|
||||
do_throw("No exception thrown for actionDescription!");
|
||||
} catch(e) {
|
||||
ok(e.result, ns_error_invalid_arg,
|
||||
"Wrong return value for actionDescription call!");
|
||||
}
|
||||
|
||||
try {
|
||||
outerDocAcc.doAction(0);
|
||||
do_throw("No exception thrown for doAction!");
|
||||
} catch(e) {
|
||||
ok(e.result, ns_error_invalid_arg,
|
||||
"Wrong return value for doAction call!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addLoadEvent(doTest);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a target="_blank"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=441519"
|
||||
title="nsOuterDocAccessible chrome tests">
|
||||
Mozilla Bug 441519
|
||||
</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче