зеркало из https://github.com/mozilla/pjs.git
107 строки
3.4 KiB
HTML
107 строки
3.4 KiB
HTML
<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.getState(state, extraState);
|
|
is(state.value & state_focusable, 0,
|
|
"Wrong focusable state bit for internal frame!");
|
|
|
|
// see bug 428954: No name wanted for internal frame
|
|
// xxx see bug 454636 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>
|