Index: third_party/WebKit/LayoutTests/fast/forms/textarea-maxlength.html |
diff --git a/third_party/WebKit/LayoutTests/fast/forms/textarea-maxlength.html b/third_party/WebKit/LayoutTests/fast/forms/textarea-maxlength.html |
deleted file mode 100644 |
index d7be9ba0f295653f22ddec4dc9d20e55e1067531..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/fast/forms/textarea-maxlength.html |
+++ /dev/null |
@@ -1,178 +0,0 @@ |
-<!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> |
-description('Tests for HTMLTextAreaElement.maxLength behaviors.'); |
- |
-var textArea = document.createElement('textarea'); |
-document.body.appendChild(textArea); |
- |
-// No maxlength attribute |
-shouldBe('textArea.maxLength', '-1'); |
- |
-// Invalid maxlength attributes |
-textArea.setAttribute('maxlength', '-3'); |
-shouldBe('textArea.maxLength', '-1'); |
-textArea.setAttribute('maxlength', 'xyz'); |
-shouldBe('textArea.maxLength', '-1'); |
- |
-// Leading whitespaces in maxlength attributes |
-textArea.setAttribute('maxlength', '\t \n\r1'); |
-shouldBe('textArea.maxLength', '1'); |
-textArea.setAttribute('maxlength', "\u20021"); |
-shouldBe('textArea.maxLength', '-1'); |
-textArea.setAttribute('maxlength', "\u20091"); |
-shouldBe('textArea.maxLength', '-1'); |
- |
-// Valid maxlength attributes |
-textArea.setAttribute('maxlength', '1'); |
-shouldBe('textArea.maxLength', '1'); |
-textArea.setAttribute('maxlength', '256'); |
-shouldBe('textArea.maxLength', '256'); |
- |
-// Set values to .maxLength |
-textArea.maxLength = 13; |
-shouldBe('textArea.getAttribute("maxlength")', '"13"'); |
- |
-shouldThrow('textArea.maxLength = -1', '"IndexSizeError: Failed to set the \'maxLength\' property on \'HTMLTextAreaElement\': The value provided (-1) is not positive or 0."'); |
-shouldBe('textArea.getAttribute("maxlength")', '"13"'); // Not changed |
-textArea.minLength = 11; |
-shouldThrow('textArea.maxLength = 10', '"IndexSizeError: Failed to set the \'maxLength\' property on \'HTMLTextAreaElement\': The maxLength provided (10) is less than the minimum bound (11)."'); |
-shouldBe('textArea.getAttribute("maxlength")', '"13"'); // Not changed |
-shouldBe('textArea.maxLength = 11; textArea.getAttribute("maxlength")', '"11"'); |
-textArea.minLength = 0; // Remove the minlength value to get it out of the way of subsequent tests |
- |
-textArea.maxLength = null; |
-shouldBe('textArea.maxLength', '0'); |
-shouldBe('textArea.getAttribute("maxlength")', '"0"'); |
- |
-// maxLength doesn't truncate the default value. |
-textArea = document.createElement('textarea'); |
-textArea.setAttribute('maxlength', '3'); |
-textArea.innerHTML = 'abcd'; |
-document.body.appendChild(textArea); |
-shouldBe('textArea.value', '"abcd"'); |
- |
-// maxLength doesn't truncate .value |
-textArea.maxLength = 3; |
-textArea.value = 'abcde'; |
-shouldBe('textArea.value', '"abcde"'); |
- |
-// Set up for user-input tests |
-function createFocusedTextAreaWithMaxLength(maxLength) { |
- if (textArea) |
- document.body.removeChild(textArea); |
- textArea = document.createElement('textarea'); |
- textArea.setAttribute('maxlength', maxLength); |
- document.body.appendChild(textArea); |
- textArea.focus(); |
-} |
- |
-// Insert text of which length is maxLength. |
-createFocusedTextAreaWithMaxLength(3); |
-document.execCommand('insertText', false, 'abc'); |
-shouldBe('textArea.value', '"abc"'); |
- |
-// Try to add characters to maxLength characters. |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.value = 'abc'; |
-document.execCommand('insertText', false, 'def'); |
-shouldBe('textArea.value', '"abc"'); |
- |
-// Replace text |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.value = 'abc'; |
-document.execCommand('selectAll'); |
-document.execCommand('insertText', false, 'def'); |
-shouldBe('textArea.value', '"def"'); |
- |
-// Existing value is longer than maxLength. We can't add text. |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.value = 'abcdef'; |
-document.execCommand('insertText', false, 'ghi'); |
-shouldBe('textArea.value', '"abcdef"'); |
- |
-// We can delete a character in the longer value. |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.value = 'abcdef'; |
-document.execCommand('delete'); |
-shouldBe('textArea.value', '"abcde"'); |
- |
-// A linebreak is 1 character. |
-createFocusedTextAreaWithMaxLength(4); |
-document.execCommand('insertText', false, 'A'); |
-document.execCommand('insertLineBreak'); |
-document.execCommand('insertText', false, 'B'); |
-shouldBe('textArea.value', '"A\\nB"'); |
- |
-// Confirms correct count for close linebreaks inputs. |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.innerHTML = 'a\n\n'; |
-document.execCommand('insertLineBreak'); |
-shouldBe('textArea.value', '"a\\n\\n"'); |
- |
-// Confirms correct count for open consecutive linebreaks inputs. |
-createFocusedTextAreaWithMaxLength(6); |
-document.execCommand('insertLineBreak'); |
-document.execCommand('insertLineBreak'); |
-document.execCommand('insertLineBreak'); |
-document.execCommand('insertLineBreak'); |
-shouldBe('textArea.value', '"\\n\\n\\n"'); |
- |
-// According to the HTML5 specification, maxLength is code-point length. |
-// Blink follows it though WebKit handles it as grapheme length. |
- |
-// fancyX should be treated as 1 grapheme. |
-var fancyX = "x\u0305\u0332";// + String.fromCharCode(0x305) + String.fromCharCode(0x332); |
-// u10000 is one character consisted of a surrogate pair. |
-var u10000 = "\ud800\udc00"; |
- |
-debug('Inserts 2 normal characters + a combining letter with 3 code points into a maxlength=3 element.') |
-createFocusedTextAreaWithMaxLength(3); |
-document.execCommand('insertText', false, 'AB' + fancyX); |
-shouldBeEqualToString('textArea.value', 'ABx'); |
-shouldBe('textArea.value.length', '3'); |
- |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.value = 'AB' + fancyX; |
-textArea.setSelectionRange(2, 5); // Select fancyX |
-document.execCommand('insertText', false, 'CDE'); |
-shouldBe('textArea.value', '"ABC"'); |
- |
-debug('Inserts 2 normal characters + one surrogate pair into a maxlength=3 element'); |
-createFocusedTextAreaWithMaxLength(3); |
-document.execCommand('insertText', false, 'AB' + u10000); |
-shouldBeEqualToString('textArea.value', 'AB'); |
-shouldBe('textArea.value.length', '2'); |
- |
-createFocusedTextAreaWithMaxLength(3); |
-textArea.value = 'AB' + u10000; |
-textArea.setSelectionRange(2, 4); // Select u10000 |
-document.execCommand('insertText', false, 'CDE'); |
-shouldBe('textArea.value', '"ABC"'); |
- |
-// In the case maxlength=0 |
-createFocusedTextAreaWithMaxLength(0); |
-textArea.value = ''; |
-document.execCommand('insertText', false, 'ABC'); |
-shouldBe('textArea.value', '""'); |
- |
-// In the case maxlength='' |
-createFocusedTextAreaWithMaxLength(''); |
-textArea.value = ''; |
-document.execCommand('insertText', false, 'ABC'); |
-shouldBe('textArea.value', '"ABC"'); |
- |
-// In the case maxlength='invalid' |
-createFocusedTextAreaWithMaxLength('invalid'); |
-textArea.value = ''; |
-document.execCommand('insertText', false, 'ABC'); |
-shouldBe('textArea.value', '"ABC"'); |
-</script> |
-</body> |
-</html> |