| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| var test = async_test("Test that screen.orientation.lock() throws when the input isn't valid."); | |
| function onOrientationChangeEvent(ev) { | |
| assert_unreached('Unexpected orientation change'); | |
| } | |
| window.screen.orientation.addEventListener('change', test.step_func(onOrientationChangeEvent)); | |
| test.step(function() { | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock('invalid-orientation'); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(null); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(undefined); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(undefined); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(123); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(window); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(['portrait-primary']); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(['portrait-primary', 'landscape-primary']); | |
| }); | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| assert_throws(new TypeError(), function() { | |
| screen.orientation.lock(); | |
| }); | |
| }); | |
| // Finish asynchronously to give events a chance to fire. | |
| setTimeout(test.step_func(function() { | |
| assert_equals(screen.orientation.type, 'portrait-primary'); | |
| screen.orientation.unlock(); | |
| test.done(); | |
| })); | |
| </script> | |
| </body> | |
| </html> | |