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