Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / screen_orientation / lockOrientation-bad-array-argument.html
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <script src="../resources/js-test.js"></script>
5 <script>
6 description("Validates that lockOrientation() returns false on bad orientation value in array argument.");
7 window.jsTestIsAsync = true;
8
9 function onOrientationChangeEvent(ev) {
10     testFailed("Unexpected 'orientationchange' event");
11 }
12
13 function completeTest() {
14     shouldBeEqualToString("screen.orientation", "portrait-primary");
15     screen.unlockOrientation();
16     finishJSTest();
17 }
18
19 window.addEventListener("orientationchange", onOrientationChangeEvent);
20
21 function typeErrorEnum(argStr) {
22   return "TypeError: Failed to execute 'lockOrientation' on 'Screen': parameter 1 ('" + argStr + "') is not a valid enum value.";
23 }
24
25 shouldBeEqualToString("screen.orientation", "portrait-primary");
26 // Bad argument to lockOrientation(), we should not get locked.
27 shouldThrow("screen.lockOrientation(['portrait-primary', 'invalid-orientation'])", "typeErrorEnum('portrait-primary,invalid-orientation')");
28 shouldThrow("screen.lockOrientation(['portrait-primary', null])", "typeErrorEnum('portrait-primary,')");
29 shouldThrow("screen.lockOrientation(['portrait-primary', undefined])", "typeErrorEnum('portrait-primary,')");
30 shouldThrow("screen.lockOrientation(['portrait-primary', 123])", "typeErrorEnum('portrait-primary,123')");
31 shouldThrow("screen.lockOrientation(['portrait-primary', window])", "typeErrorEnum('portrait-primary,[object Window]')");
32
33 // Finish asynchronously to give events a chance to fire.
34 setTimeout(completeTest, 0);
35 </script>
36 </body>
37 </html>
38