summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/editing/other/exec-command-never-throw-exceptions.tentative.html
blob: 1b77b15ab039dabd209507ada217bb6947f9d4e7 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!doctype html>
<meta charset=utf-8>
<title>Test that execCommand and related methods never throw exceptions if HTML or XHTML document</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div contenteditable=""></div>
<script>
"use strict";

const editor = document.querySelector("div[contenteditable]");

test(function execCommand_with_unknown_command() {
  editor.innerHTML = "abc";
  editor.focus();
  try {
    let done = document.execCommand("unknown-command", false, "foo");
    assert_equals(done, false,
        "Should return false without throwing exception");
  } catch (e) {
    assert_true(false,
        "Shouldn't throw exception for unknown command");
  }
}, "Testing execCommand with unknown command");

test(function queryCommandEnabled_with_unknown_command() {
  editor.innerHTML = "abc";
  editor.focus();
  try {
    let enabled = document.queryCommandEnabled("unknown-command");
    assert_equals(enabled, false,
        "Should return false without throwing exception");
  } catch (e) {
    assert_true(false,
        "Shouldn't throw exception for unknown command");
  }
}, "Testing queryCommandEnabled with unknown command");

test(function queryCommandIndeterm_with_unknown_command() {
  editor.innerHTML = "abc";
  editor.focus();
  try {
    let indeterminate = document.queryCommandIndeterm("unknown-command");
    assert_equals(indeterminate, false,
        "Should return false without throwing exception");
  } catch (e) {
    assert_true(false,
        "Shouldn't throw exception for unknown command");
  }
}, "Testing queryCommandIndeterm with unknown command");

test(function queryCommandState_with_unknown_command() {
  editor.innerHTML = "abc";
  editor.focus();
  try {
    let state = document.queryCommandState("unknown-command");
    assert_equals(state, false,
        "Should return false without throwing exception");
  } catch (e) {
    assert_true(false,
        "Shouldn't throw exception for unknown command");
  }
}, "Testing queryCommandState with unknown command");

test(function queryCommandSupported_with_unknown_command() {
  editor.innerHTML = "abc";
  editor.focus();
  try {
    let supported = document.queryCommandSupported("unknown-command");
    assert_equals(supported, false,
        "Should return false without throwing exception");
  } catch (e) {
    assert_true(false,
        "Shouldn't throw exception for unknown command");
  }
}, "Testing queryCommandSupported with unknown command");

test(function queryCommandValue_with_unknown_command() {
  editor.innerHTML = "abc";
  editor.focus();
  try {
    let value = document.queryCommandValue("unknown-command");
    assert_equals(value, "",
        "Should return empty string without throwing exception");
  } catch (e) {
    assert_true(false,
        "Shouldn't throw exception for unknown command");
  }
}, "Testing queryCommandValue with unknown command");
</script>