diff options
Diffstat (limited to 'accessible/tests/mochitest/hyperlink/hyperlink.js')
-rw-r--r-- | accessible/tests/mochitest/hyperlink/hyperlink.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/accessible/tests/mochitest/hyperlink/hyperlink.js b/accessible/tests/mochitest/hyperlink/hyperlink.js new file mode 100644 index 000000000..4daa16275 --- /dev/null +++ b/accessible/tests/mochitest/hyperlink/hyperlink.js @@ -0,0 +1,42 @@ +/** + * Focus hyperlink invoker. + * + * @param aID [in] hyperlink identifier + * @param aSelectedAfter [in] specifies if hyperlink is selected/focused after + * the focus + */ +function focusLink(aID, aSelectedAfter) +{ + this.node = getNode(aID); + this.accessible = getAccessible(this.node); + + this.eventSeq = []; + this.unexpectedEventSeq = []; + + var checker = new invokerChecker(EVENT_FOCUS, this.accessible); + if (aSelectedAfter) + this.eventSeq.push(checker); + else + this.unexpectedEventSeq.push(checker); + + this.invoke = function focusLink_invoke() + { + var expectedStates = (aSelectedAfter ? STATE_FOCUSABLE : 0); + var unexpectedStates = (!aSelectedAfter ? STATE_FOCUSABLE : 0) | STATE_FOCUSED; + testStates(aID, expectedStates, 0, unexpectedStates, 0); + + this.node.focus(); + } + + this.finalCheck = function focusLink_finalCheck() + { + var expectedStates = (aSelectedAfter ? STATE_FOCUSABLE | STATE_FOCUSED : 0); + var unexpectedStates = (!aSelectedAfter ? STATE_FOCUSABLE | STATE_FOCUSED : 0); + testStates(aID, expectedStates, 0, unexpectedStates, 0); + } + + this.getID = function focusLink_getID() + { + return "focus hyperlink " + prettyName(aID); + } +} |