75 lines
2.2 KiB
HTML
75 lines
2.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../resources/js-test.js"></script>
|
|
<script src="../resources/accessibility-helper.js"></script>
|
|
<script>
|
|
var successfullyParsed = false;
|
|
</script>
|
|
</head>
|
|
<style>
|
|
body {
|
|
font-family: ahem;
|
|
-webkit-font-smoothing: none;
|
|
}
|
|
</style>
|
|
<body id="body">
|
|
<div id="content" aria-label="test">
|
|
<summary>a<span>b<div>c</div>d</span>e</summary>
|
|
</div>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("This tests that we only insert valid children when building ax tree.");
|
|
jsTestIsAsync = true;
|
|
|
|
if ("webkitRequestFullScreen" in Element.prototype) {
|
|
var content = accessibilityController.accessibleElementById("content");
|
|
var value;
|
|
if (accessibilityController.platformName == "atk")
|
|
value = "AXValue: ab<\\n>c<\\n>de<\\n>";
|
|
else
|
|
value = "AXValue: d";
|
|
document.body.offsetTop;
|
|
var span = document.getElementsByTagName('span')[0];
|
|
|
|
var fullscreenChangeEvent = function(event) {
|
|
if (document.webkitIsFullScreen) {
|
|
setTimeout(function () {
|
|
document.webkitCancelFullScreen();
|
|
}, 0)
|
|
} else
|
|
finishJSTest();
|
|
shouldBe("valueOccuranceInElementTree(content, value)", "1");
|
|
};
|
|
|
|
document.addEventListener('webkitfullscreenchange', fullscreenChangeEvent);
|
|
|
|
document.addEventListener('keydown', function () {
|
|
span.webkitRequestFullScreen();
|
|
});
|
|
|
|
shouldBe("valueOccuranceInElementTree(content, value)", "1");
|
|
if (window.eventSender)
|
|
eventSender.keyDown('a');
|
|
|
|
function valueOccuranceInElementTree(element, value) {
|
|
if (!element) {
|
|
return 0;
|
|
}
|
|
var count = 0;
|
|
if (element.stringValue == value)
|
|
count++;
|
|
var childrenCount = element.childrenCount;
|
|
for (var k = 0; k < childrenCount; k++)
|
|
count += valueOccuranceInElementTree(element.childAtIndex(k), value);
|
|
return count;
|
|
}
|
|
}
|
|
successfullyParsed = true;
|
|
</script>
|
|
</body>
|
|
</html>
|