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

Side by Side Diff: LayoutTests/fast/forms/ValidityState-tooLong-input.html

Issue 435753003: Implement minlength for <input> and <textarea>. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add more layout tests Created 6 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 unified diff | Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/forms/ValidityState-tooLong-input-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
keishi 2014/10/08 09:17:49 Changes to LayoutTests/fast/forms/ValidityState-to
Bartek Nowierski 2014/10/09 05:32:56 They kind of are, kind of aren't. My goal was to h
keishi 2014/10/09 05:59:55 Okay, but could you add a blurb in the CL descript
Bartek Nowierski 2014/10/09 06:26:59 Done.
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../resources/js-test.js"></script> 4 <script src="../../resources/js-test.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <p id="description"></p> 7 <p id="description"></p>
8 <div id="console"></div> 8 <div id="console"></div>
9 <script> 9 <script>
10 description('Tests for tooLong flag with &lt;input> elements.'); 10 description('Tests for tooLong flag with &lt;input> elements.');
11 11
(...skipping 29 matching lines...) Expand all
41 document.execCommand('delete'); 41 document.execCommand('delete');
42 shouldBeFalse('input.validity.tooLong'); 42 shouldBeFalse('input.validity.tooLong');
43 43
44 debug(''); 44 debug('');
45 debug('Sets a value via DOM property'); 45 debug('Sets a value via DOM property');
46 input.maxLength = 3; 46 input.maxLength = 3;
47 input.value = 'abcde'; 47 input.value = 'abcde';
48 shouldBeFalse('input.validity.tooLong'); 48 shouldBeFalse('input.validity.tooLong');
49 49
50 debug(''); 50 debug('');
51 debug('Disabled'); 51 debug('Disabling makes the control valid');
52 input.disabled = true; 52 input.focus();
53 shouldBeFalse('input.validity.tooLong'); 53 input.setSelectionRange(5, 5); // Move the cursor at the end.
54 input.disabled = false; 54 document.execCommand('delete');
55 shouldBeTrue('input.validity.tooLong');
56 shouldBeFalse('input.disabled = true; input.validity.tooLong');
57 shouldBeTrue('input.disabled = false; input.validity.tooLong');
55 58
59 // TODO: The grapheme test below doesn't do its job because initial value is
keishi 2014/10/08 09:17:49 nit: style guideline says to use FIXME instead of
Bartek Nowierski 2014/10/09 05:32:56 Done.
60 // always valid. After making a modificaton to trigger validity check, one can
61 // see that the test would fail, which possibly reveals a code issue.
keishi 2014/10/08 09:17:49 nit: This looks like a bug so maybe you can file a
Bartek Nowierski 2014/10/09 05:32:56 Done. https://code.google.com/p/chromium/issues/de
62 // Once this is figured out, implement a similar test in
63 // ValidityState-tooShort-input.html
56 debug(''); 64 debug('');
57 debug('Grapheme length is not greater than maxLength though character length is greater'); 65 debug('Grapheme length is not greater than maxLength though character length is greater');
58 // fancyX should be treated as 1 grapheme. 66 // fancyX should be treated as 1 grapheme.
59 // U+0305 COMBINING OVERLINE 67 // U+0305 COMBINING OVERLINE
60 // U+0332 COMBINING LOW LINE 68 // U+0332 COMBINING LOW LINE
61 var fancyX = "x\u0305\u0332"; 69 var fancyX = "x\u0305\u0332";
62 input = document.createElement('input'); 70 input = document.createElement('input');
63 document.body.appendChild(input); 71 document.body.appendChild(input);
64 input.value = fancyX; // 3 characters, 1 grapheme clusters. 72 input.value = fancyX; // 3 characters, 1 grapheme clusters.
65 input.maxLength = 1; 73 input.maxLength = 1;
66 shouldBeFalse('input.validity.tooLong'); 74 shouldBeFalse('input.validity.tooLong');
67 75
68 debug(''); 76 debug('');
69 debug('Change the type with a too long value'); 77 debug('Change the type with a too long value');
70 input.maxLength = 3; 78 input.maxLength = 3;
71 input.value = 'abcde'; 79 input.value = 'abcde';
72 input.type = 'search'; 80 input.type = 'search';
73 input.focus(); 81 input.focus();
74 input.setSelectionRange(5, 5); 82 input.setSelectionRange(5, 5);
75 document.execCommand('delete'); 83 document.execCommand('delete');
76 shouldBeTrue('input.validity.tooLong'); 84 shouldBeTrue('input.validity.tooLong');
77 shouldBeFalse('input.type = "number"; input.validity.tooLong'); 85 shouldBeFalse('input.type = "number"; input.validity.tooLong');
78 </script> 86 </script>
79 </body> 87 </body>
80 </html> 88 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/forms/ValidityState-tooLong-input-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698