summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/screen-orientation/lock-basic.html
blob: 022d24be3732d909094476cf27108a0aeb0797d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>

var previousOrientation = screen.orientation;

test(function() {
    screen.orientation.unlock();
}, "Test that screen.orientation.unlock() doesn't throw when there is no lock");

async_test(function(t) {
    var orientations = ['any', 'portrait', 'landscape', 'portrait-secondary',
                        'landscape-primary', 'landscape-secondary', 'portrait-primary'];

    setOrientation = function(idx) {
        if( idx == orientations.length) {
            screen.orientation.unlock();
            t.done();
            return;
        }
        (function(i) {
            screen.orientation.lock(orientations[i]).then(function() {
                setOrientation(i+1);
            },function() {});
        })(idx);
    };

    setOrientation(0);

}, "Test that screen.orientation.lock returns a pending promise.");

test(function() {
    assert_equals(screen.orientation, previousOrientation);
}, "Test that screen.orientation.lock() is actually async");

</script>
</body>
</html>