| Index: LayoutTests/screen_orientation/orientationchange-event.html
|
| diff --git a/LayoutTests/screen_orientation/orientationchange-event.html b/LayoutTests/screen_orientation/orientationchange-event.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..54d387f6bafd57bba3d049a38888268b11bfade6
|
| --- /dev/null
|
| +++ b/LayoutTests/screen_orientation/orientationchange-event.html
|
| @@ -0,0 +1,62 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<body>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +<script>
|
| +
|
| +var orientations = [
|
| + 'portrait-primary',
|
| + 'portrait-secondary',
|
| + 'landscape-primary',
|
| + 'landscape-secondary'
|
| +];
|
| +
|
| +var currentIndex = orientations.indexOf(window.screen.orientation);
|
| +// Count the number of calls received from the EventHandler set on window.onorientationchange.
|
| +var orientationChangeEventHandlerCalls = 0;
|
| +// Count the number of calls received from the listener set with window.addEventListene().
|
| +var orientationChangeEventListenerCalls = 0;
|
| +
|
| +// TODO: window.onorientationchange is enabled on Android only. We will enable
|
| +// it with ScreenOrientation later, at which point this test will fail. We will
|
| +// then have to fix it.
|
| +function todo_equals(actual, expected) {
|
| + assert_not_equals(actual, expected, "TODO: if this fails, it means that something got fixed.");
|
| +}
|
| +
|
| +function getNextIndex() {
|
| + return (currentIndex + 1) % orientations.length;
|
| +}
|
| +
|
| +window.onorientationchange = function() {
|
| + orientationChangeEventHandlerCalls++;
|
| +};
|
| +
|
| +window.addEventListener('orientationchange', function() {
|
| + orientationChangeEventListenerCalls++;
|
| +});
|
| +
|
| +for (var i = 0; i < 4; ++i) {
|
| + test(function() {
|
| + window.testRunner.setMockScreenOrientation(orientations[getNextIndex()]);
|
| +
|
| + currentIndex = getNextIndex();
|
| + assert_equals(screen.orientation, orientations[currentIndex]);
|
| +
|
| + todo_equals(orientationChangeEventHandlerCalls, i + 1);
|
| + assert_equals(orientationChangeEventListenerCalls, i + 1);
|
| + }, "Test that orientationchange event is fired when the orientation changes");
|
| +}
|
| +
|
| +test(function() {
|
| + window.testRunner.setMockScreenOrientation(orientations[currentIndex]);
|
| + assert_equals(screen.orientation, orientations[currentIndex]);
|
| +
|
| + todo_equals(orientationChangeEventHandlerCalls, 4);
|
| + assert_equals(orientationChangeEventListenerCalls, 4);
|
| +}, "Test that orientationchange event is not fired when the orientation does not change");
|
| +
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|