68 lines
2.2 KiB
HTML
68 lines
2.2 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../resources/js-test.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<input id="range1" type="range">
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<div id="notifications"></div>
|
|
|
|
<script>
|
|
|
|
description("This tests that a basic range returns all the correct information for the mac platform.");
|
|
|
|
var range = 0;
|
|
var valueChangeCount = 0;
|
|
function notificationCallback(notification) {
|
|
if (notification == "AXValueChanged") {
|
|
document.getElementById("notifications").innerHTML += "Successfully received " + notification + "<br>";
|
|
valueChangeCount++;
|
|
}
|
|
|
|
if (valueChangeCount == 2) {
|
|
range.removeNotificationListener();
|
|
finishJSTest();
|
|
}
|
|
}
|
|
|
|
if (window.accessibilityController) {
|
|
jsTestIsAsync = true;
|
|
|
|
document.getElementById("range1").focus();
|
|
range = accessibilityController.focusedElement;
|
|
range.addNotificationListener(notificationCallback);
|
|
|
|
// Check that min/max/value return correct default values.
|
|
shouldBe("range.minValue", "0");
|
|
shouldBe("range.maxValue", "100");
|
|
shouldBe("range.intValue", "50");
|
|
|
|
// Check the value indicator returns a value.
|
|
var valueIndicator = range.childAtIndex(0);
|
|
shouldBe("valueIndicator.intValue", "50");
|
|
|
|
// Check that incrementing/decrementing sends AXValueChange.
|
|
eventSender.keyDown("leftArrow");
|
|
shouldBe("range.intValue", "49");
|
|
shouldBe("valueIndicator.intValue", "49");
|
|
|
|
eventSender.keyDown("rightArrow");
|
|
shouldBe("range.intValue", "50");
|
|
shouldBe("valueIndicator.intValue", "50");
|
|
|
|
// Check that a hit test on the value indicator succeeds.
|
|
var hitTestIndicator = accessibilityController.elementAtPoint(range.x + range.width/2, range.y + range.height/2);
|
|
shouldBeTrue("valueIndicator.isEqual(hitTestIndicator)");
|
|
|
|
// Check that outside the indicator returns the slider.
|
|
var hitTestRange = accessibilityController.elementAtPoint(range.x + 1, range.y + range.height/2);
|
|
shouldBeTrue("range.isEqual(hitTestRange)");
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|