summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/notifications/constructor-basic.https.html
blob: df959b922f9745c14045f423de8dafc89556f464 (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
42
43
44
45
46
<!DOCTYPE html>
<meta charset="utf-8">
<title>Notification constructor (basic)</title>
<link rel="author" title="Intel" href="http://www.intel.com/">
<link rel="author" title="Xin Liu" href="mailto:xinx.liu@intel.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {
    var notification = new Notification("New Email Received")
    assert_true(notification instanceof Notification)
    notification.onshow = function() {
        notification.close()
    }
}, "Called the notification constructor with one argument.")

test(() => {
    assert_equals(
        new Notification("a").silent,
        null,
        "Expected null by default"
    );
}, "Constructing a notification without a NotificationOptions defaults to null.");

test(() => {
    for (const silent of [null, undefined]) {
        assert_equals(
            new Notification("a", { silent }).silent,
            null,
            `Expected silent to be null when initialized with ${silent}.`
        );
    }
    for (const silent of [true, 1, 100, {}, [], "a string"]) {
        assert_true(
            new Notification("a", { silent }).silent,
            `Expected silent to be true when initialized with ${silent}.`
        );
    }
    for (const silent of [false, 0, "", NaN]) {
        assert_false(
            new Notification("a", { silent }).silent,
            `Expected silent to be false when initialized with ${silent}.`
        );
    }
}, "constructing a notification with a NotificationOptions dictionary correctly sets and reflects the silent attribute.");
</script>