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

Side by Side Diff: third_party/WebKit/LayoutTests/editing/deleting/delete-br-001.html

Issue 2680943004: Make FrameSelection to hold non-canonicalized positions (Closed)
Patch Set: 2014-02-14T23:34:22 Update TestExpectation to include extend-{0,2,4}0.html and selectAllChildren.html Created 3 years, 10 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
OLDNEW
1 <body> 1 <body>
2 <div id="container"> 2 <div id="container">
3 <div contenteditable="true" id="work"></div> 3 <div contenteditable="true" id="work"></div>
4 </div> 4 </div>
5 </div> 5 </div>
6 <script src="../../resources/js-test.js"></script> 6 <script src="../../resources/js-test.js"></script>
7 <script> 7 <script>
8 function $(id) { return document.getElementById(id); } 8 function $(id) { return document.getElementById(id); }
9 9
10 var sampleHTML = 'abc<br id="a"><br id="b"><br id="c">def'; 10 var sampleHTML = 'abc<br id="a"><br id="b"><br id="c">def';
11 var selection = window.getSelection(); 11 var selection = window.getSelection();
12 function testIt(nth, numberOfDeletes, expectedOffset, expectedHTML) { 12 function testIt(nth, numberOfDeletes, expectedOffset, expectedHTML) {
13 $('work').innerHTML = sampleHTML; 13 $('work').innerHTML = sampleHTML;
14 var range = document.createRange(); 14 var range = document.createRange();
15 range.setStartAfter($('work').querySelectorAll('br')[nth]); 15 range.setStartAfter($('work').querySelectorAll('br')[nth]);
16 selection.removeAllRanges(); 16 selection.removeAllRanges();
17 selection.addRange(range); 17 selection.addRange(range);
18 for (var i = 0; i < numberOfDeletes; ++i) 18 for (var i = 0; i < numberOfDeletes; ++i)
19 document.execCommand('Delete'); 19 document.execCommand('Delete');
20 shouldBeEqualToString('$("work").innerHTML', expectedHTML); 20 shouldBeEqualToString('$("work").innerHTML', expectedHTML);
21 shouldBeEqualToString('selection.type', 'Caret'); 21 shouldBeEqualToString('selection.type', 'Caret');
22 shouldBe('selection.anchorOffset', expectedOffset + ''); 22 shouldBe('selection.anchorOffset', expectedOffset + '');
23 } 23 }
24 24
25 testIt(0, 1, 3, 'abc<br id="b"><br id="c">def'); 25 testIt(0, 1, 3, 'abc<br id="b"><br id="c">def');
26 testIt(1, 1, 2, 'abc<br id="a"><br id="c">def'); 26 testIt(1, 1, 2, 'abc<br id="a"><br id="c">def');
27 testIt(2, 1, 3, 'abc<br id="a"><br id="b">def'); 27 testIt(2, 1, 0, 'abc<br id="a"><br id="b">def');
28 testIt(1, 2, 3, 'abc<br id="c">def'); 28 testIt(1, 2, 3, 'abc<br id="c">def');
29 testIt(2, 2, 2, 'abc<br id="a">def'); 29 testIt(2, 2, 0, 'abc<br id="a">def');
30 testIt(2, 3, 3, 'abcdef'); 30 testIt(2, 3, 3, 'abcdef');
31 31
32 if (window.testRunner) 32 if (window.testRunner)
33 $('container').outerHTML = ''; 33 $('container').outerHTML = '';
34 else 34 else
35 $('work').innerHTML = sampleHTML; 35 $('work').innerHTML = sampleHTML;
36 </script> 36 </script>
37 </body> 37 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698