blob: e709f704212e2925b02f283754bcbe660c87d6ef [file] [log] [blame]
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
<script src="../resources/ui-helper.js"></script>
</head>
<body>
<math style="background-color: green">
<mspace id="space1" width="100px" depth="50px" height="50px"/>
<mrow id="row">
<mspace id="space2" width="100px" depth="50px" height="50px"/>
</mrow>
<mfrac id="fraction">
<mspace width="100px" depth="50px"/>
<mspace width="100px" depth="50px"/>
</mfrac>
<mtext id="text" style="font-size:20px">TEST</mtext>
</math>
<p id="description"></p>
<div id="console"></div>
<script>
if (window.testRunner)
testRunner.waitUntilDone();
var focusSeen = "";
var blurSeen = "";
var spaceElement = document.getElementById("space1");
var rowElement = document.getElementById("row");
var fractionElement = document.getElementById("fraction");
var textElement = document.getElementById("text");
function clearFocusSeen()
{
focusSeen = "";
blurSeen = "";
}
function focusHandler(evt)
{
focusSeen = evt.target.getAttribute('id');
}
function blurHandler(evt)
{
blurSeen = evt.target.getAttribute('id');
}
addEventListener("load", async () => {
description("Test whether focus and blur events are dispatched and seen in the focus/blur event handlers: ");
spaceElement.tabIndex = 0;
spaceElement.addEventListener("focus", focusHandler, false);
spaceElement.addEventListener("blur", blurHandler, false);
rowElement.tabIndex = 0;
rowElement.addEventListener("focus", focusHandler, false);
rowElement.addEventListener("blur", blurHandler, false);
fractionElement.tabIndex = 0;
fractionElement.addEventListener("focus", focusHandler, false);
fractionElement.addEventListener("blur", blurHandler, false);
textElement.tabIndex = 0;
textElement.addEventListener("focus", focusHandler, false);
textElement.addEventListener("blur", blurHandler, false);
// cause focus and blur
await UIHelper.activateAt(50, 50);
await UIHelper.activateAt(150, 250);
shouldBeEqualToString('focusSeen', 'space1');
shouldBeEqualToString('blurSeen', 'space1');
clearFocusSeen();
// cause focus and blur
await UIHelper.activateAt(150, 50);
await UIHelper.activateAt(150, 250);
shouldBeEqualToString('focusSeen', 'row');
shouldBeEqualToString('blurSeen', 'row');
clearFocusSeen();
// cause focus and blur
await UIHelper.activateAt(250, 50);
await UIHelper.activateAt(150, 250);
shouldBeEqualToString('focusSeen', 'fraction');
shouldBeEqualToString('blurSeen', 'fraction');
clearFocusSeen();
// cause focus and blur
await UIHelper.activateAt(350, 50);
await UIHelper.activateAt(150, 250);
shouldBeEqualToString('focusSeen', 'text');
shouldBeEqualToString('blurSeen', 'text');
successfullyParsed = true;
testRunner.notifyDone();
});
</script>
</body>
</html>