| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| test(function() { | |
| assert_true('type' in screen.orientation); | |
| assert_true('angle' in screen.orientation); | |
| }, "Test screen.orientation properties"); | |
| test(function() { | |
| assert_equals(screen.orientation.type, "portrait-primary"); | |
| assert_equals(screen.orientation.angle, 0); | |
| }, "Test screen.orientation default values."); | |
| test(function() { | |
| var type = screen.orientation.type; | |
| var angle = screen.orientation.angle; | |
| screen.orientation.type = 'foo'; | |
| screen.orientation.angle = 42; | |
| assert_equals(screen.orientation.type, type); | |
| assert_equals(screen.orientation.angle, angle); | |
| }, "Test that screen.orientation properties are not writable"); | |
| test(function() { | |
| assert_equals(screen.orientation, screen.orientation); | |
| }, "Test that screen.orientation is always the same object"); | |
| async_test(function(t) { | |
| var orientation = screen.orientation; | |
| var orientationType = screen.orientation.type; | |
| var orientationAngle = screen.orientation.angle; | |
| screen.orientation.unlock(); | |
| screen.orientation.lock('landscape-primary').then(function () { | |
| t.step(function () { | |
| assert_equals(screen.orientation, orientation); | |
| assert_equals(screen.orientation.type, orientation.type); | |
| assert_equals(screen.orientation.angle, orientation.angle); | |
| assert_not_equals(screen.orientation.type, orientationType); | |
| assert_not_equals(screen.orientation.angle, orientationAngle); | |
| }); | |
| t.done(); | |
| screen.orientation.unlock(); | |
| }, function () { | |
| t.step(function () { | |
| assert_unreached('Unexpected orientation change'); | |
| }); | |
| t.done(); | |
| screen.orientation.unlock(); | |
| }); | |
| }, "Test that screen.orientation values change if the orientation changes"); | |
| </script> | |
| </body> | |
| </html> |