mirror of
https://github.com/servo/servo.git
synced 2025-09-15 17:38:23 +01:00
Update web-platform-tests to revision be959408023fe02cf79abe70f6018598a7004a88
This commit is contained in:
parent
a76777b115
commit
761c8bc2a9
171 changed files with 2434 additions and 907 deletions
|
@ -1,80 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
promise_test(async t => {
|
||||
const type = screen.orientation.type;
|
||||
screen.orientation.onchange = t.unreached_func("change event should not be fired");
|
||||
await screen.orientation.lock(type);
|
||||
assert_equals(screen.orientation.type, type);
|
||||
}, "Test that orientationchange event is not fired when the orientation does not change.");
|
||||
|
||||
var changeTest = async_test("Test that orientationchange event is fired when the orientation changes.");
|
||||
var noChangeTest = async_test("Test that orientationchange event is not fired when the orientation does not change.");
|
||||
|
||||
var orientations = [
|
||||
'portrait-primary',
|
||||
'portrait-secondary',
|
||||
'landscape-primary',
|
||||
'landscape-secondary'
|
||||
];
|
||||
|
||||
var currentIndex = orientations.indexOf(window.screen.orientation.type);
|
||||
// Count the number of calls received from the EventHandler set on screen.orientation.onchange.
|
||||
var orientationChangeEventHandlerCalls = 0;
|
||||
// Count the number of calls received from the listener set with screen.orientation.addEventListene().
|
||||
var orientationChangeEventListenerCalls = 0;
|
||||
|
||||
var orientationChangeContinuation = null;
|
||||
|
||||
function getNextIndex() {
|
||||
return (currentIndex + 1) % orientations.length;
|
||||
}
|
||||
|
||||
window.screen.orientation.onchange = function() {
|
||||
orientationChangeEventHandlerCalls++;
|
||||
if (orientationChangeEventContinuation) {
|
||||
setTimeout(orientationChangeEventContinuation);
|
||||
orientationChangeEventContinuation = null;
|
||||
promise_test(async t => {
|
||||
let orientations = [
|
||||
'portrait-primary',
|
||||
'portrait-secondary',
|
||||
'landscape-primary',
|
||||
'landscape-secondary'
|
||||
];
|
||||
if (screen.orientation.type.includes('portrait')) {
|
||||
orientations = orientations.reverse();
|
||||
}
|
||||
};
|
||||
|
||||
window.screen.orientation.addEventListener('change', function() {
|
||||
orientationChangeEventListenerCalls++;
|
||||
});
|
||||
|
||||
function runNoChangeTest() {
|
||||
screen.orientation.lock(orientations[currentIndex]).then(function() {}, function() {});
|
||||
|
||||
noChangeTest.step(function() {
|
||||
assert_equals(screen.orientation.type, orientations[currentIndex]);
|
||||
assert_equals(orientationChangeEventHandlerCalls, orientations.length);
|
||||
assert_equals(orientationChangeEventListenerCalls, orientations.length);
|
||||
});
|
||||
|
||||
noChangeTest.done();
|
||||
}
|
||||
|
||||
var i = 0;
|
||||
function runChangeTest() {
|
||||
screen.orientation.lock(orientations[getNextIndex()]).then(function() {}, function() {});
|
||||
currentIndex = getNextIndex();
|
||||
|
||||
orientationChangeEventContinuation = function() {
|
||||
changeTest.step(function() {
|
||||
assert_equals(screen.orientation.type, orientations[currentIndex]);
|
||||
assert_equals(orientationChangeEventHandlerCalls, i + 1);
|
||||
assert_equals(orientationChangeEventListenerCalls, i + 1);
|
||||
});
|
||||
|
||||
++i;
|
||||
if (i == orientations.length) {
|
||||
changeTest.done();
|
||||
runNoChangeTest();
|
||||
} else {
|
||||
runChangeTest();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
runChangeTest();
|
||||
const orientationWatcher = new EventWatcher(t, screen.orientation, 'change');
|
||||
|
||||
for (const orientation of orientations) {
|
||||
await screen.orientation.lock(orientation);
|
||||
await orientationWatcher.wait_for('change');
|
||||
assert_equals(screen.orientation.type, orientation);
|
||||
}
|
||||
screen.orientation.unlock();
|
||||
}, "Test that orientationchange event is fired when the orientation changes.");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue