Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/editing/spelling/spelling-attribute-change.html |
| diff --git a/third_party/WebKit/LayoutTests/editing/spelling/spelling-attribute-change.html b/third_party/WebKit/LayoutTests/editing/spelling/spelling-attribute-change.html |
| index 68dcb8e37e28886b66dc62677f65c48a4774a9e2..3a3bdf0f657d29467b679152bd2f9f013d72c22b 100644 |
| --- a/third_party/WebKit/LayoutTests/editing/spelling/spelling-attribute-change.html |
| +++ b/third_party/WebKit/LayoutTests/editing/spelling/spelling-attribute-change.html |
| @@ -1,11 +1,248 @@ |
| -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| -<html> |
| -<head> |
| -<script src="../../resources/js-test.js"></script> |
| -</head> |
| -<body> |
| -<p id="description"></p> |
| -<div id="console"></div> |
| -<script src="script-tests/spelling-attribute-change.js"></script> |
| -</body> |
| -</html> |
| +<!doctype html> |
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| +<script src="../assert_selection.js"></script> |
| +<script src="spellcheck_test.js"></script> |
| + |
| +<script> |
| +const testElementTypes = ['span', 'input', 'textarea']; |
| +const initialValues = [undefined, true, false]; |
| +const finalValues = [true, false]; |
| + |
| +function generateInputText(type, value) { |
| + var text = `<${type} ${type === 'span' ? 'contenteditable ' : ''}id="target"`; |
| + if (value !== undefined) |
| + text += ` spellcheck="${value}"`; |
| + text += '>'; |
| + if (type !== 'input') |
| + text += `</${type}>`; |
| + return text; |
| +} |
| + |
| +function generateExpectedText(type, value) { |
| + const misspelling = value ? '#zz#' : 'zz'; |
| + var text = `<${type} ${type === 'span' ? 'contenteditable ' : ''}id="target" spellcheck="${value}"`; |
| + if (type === 'input') { |
| + text += ` value="Hello,${misspelling}.">`; |
| + } else { |
| + text += `>Hello,${misspelling}.</${type}>`; |
| + } |
| + return text; |
| +} |
| + |
| +spellcheck_test( |
| + generateInputText('span', undefined), |
|
yosin_UTC9
2016/10/28 09:54:45
I mean we should have literal instead of computed
|
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('span', true), |
| + 'Change "spellcheck" of <span> from undefined to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('span', undefined), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('span', false), |
| + 'Change "spellcheck" of <span> from undefined to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('span', true), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('span', true), |
| + 'Change "spellcheck" of <span> from true to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('span', true), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('span', false), |
| + 'Change "spellcheck" of <span> from true to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('span', false), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('span', true), |
| + 'Change "spellcheck" of <span> from false to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('span', false), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('span', false), |
| + 'Change "spellcheck" of <span> from false to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('input', undefined), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('input', true), |
| + 'Change "spellcheck" of <input> from undefined to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('input', undefined), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('input', false), |
| + 'Change "spellcheck" of <input> from undefined to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('input', true), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('input', true), |
| + 'Change "spellcheck" of <input> from true to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('input', true), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('input', false), |
| + 'Change "spellcheck" of <input> from true to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('input', false), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('input', true), |
| + 'Change "spellcheck" of <input> from false to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('input', false), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('input', false), |
| + 'Change "spellcheck" of <input> from false to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('textarea', undefined), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('textarea', true), |
| + 'Change "spellcheck" of <textarea> from undefined to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('textarea', undefined), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('textarea', false), |
| + 'Change "spellcheck" of <textarea> from undefined to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('textarea', true), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('textarea', true), |
| + 'Change "spellcheck" of <textarea> from true to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('textarea', true), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('textarea', false), |
| + 'Change "spellcheck" of <textarea> from true to false'); |
| + |
| +spellcheck_test( |
| + generateInputText('textarea', false), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = true; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('textarea', true), |
| + 'Change "spellcheck" of <textarea> from false to true'); |
| + |
| +spellcheck_test( |
| + generateInputText('textarea', false), |
| + document => { |
| + const target = document.getElementById('target'); |
| + target.spellcheck = false; |
| + target.focus(); |
| + document.execCommand('insertText', false, 'Hello,'); |
| + document.execCommand('insertText', false, 'zz.'); |
| + }, |
| + generateExpectedText('textarea', false), |
| + 'Change "spellcheck" of <textarea> from false to false'); |
| +</script> |