| <!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> |