Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Unified Diff: third_party/WebKit/LayoutTests/editing/spelling/spelling-attribute-change.html

Issue 2453313005: Convert editing/spelling/spelling-attribute-change.html with spellcheck_test (Closed)
Patch Set: Move spellcheck_test from control flow Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698