OLD | NEW |
---|---|
1 <!DOCTYPE html> | |
1 <style> | 2 <style> |
2 p.first-letter:first-letter { color: red; } | 3 p.before:before { content: "BEFORE"; color: red; } |
3 </style> | 4 </style> |
4 <div id="container"> | 5 <div id="container"> |
5 <p id="description"></p> | 6 <p id="description"></p> |
6 <p id="sample" class="first-letter"><span>0123456</span></p> | 7 <p id="sample" class="before"><span>0123456</span></p> |
7 </div> | 8 </div> |
8 <div id="console"></div> | 9 <div id="xconsole"></div> |
ojan
2013/12/03 23:48:22
Why leave this element in the page at all?
| |
9 <script src="../../../../resources/js-test.js"></script> | 10 <script src="../../../../resources/js-test.js"></script> |
10 <script> | 11 <script> |
11 description('caretRangeFromPoint() should work with :first-letter style'); | 12 description('caretRangeFromPoint() should work with :before style'); |
12 function $(id) { return document.getElementById(id); } | 13 function $(id) { return document.getElementById(id); } |
13 | 14 |
14 var middle = $('sample').offsetTop + $('sample').offsetHeight / 2; | |
15 var left = $('sample').offsetLeft; | 15 var left = $('sample').offsetLeft; |
16 var numberOfChars = $('sample').firstChild.firstChild.length; | 16 var numberOfChars = "BEFORE".length; |
17 var charWidth = $('sample').firstChild.offsetWidth / numberOfChars; | 17 var charWidth = $('sample').firstChild.offsetWidth / numberOfChars; |
18 var x = left; | 18 var x = left; |
19 if (document.caretPositionFromPoint) | |
20 document.caretRangeFromPoint = document.caretPositionFromPoint; | |
19 for (var i = 0; i < numberOfChars; ++i) { | 21 for (var i = 0; i < numberOfChars; ++i) { |
22 var middle = $('sample').offsetTop + $('sample').offsetHeight / 2; | |
20 var range = document.caretRangeFromPoint(x + 3, middle); | 23 var range = document.caretRangeFromPoint(x + 3, middle); |
21 shouldBe('range.startOffset', i.toString()); | 24 shouldBeNull(i + '; range'); |
22 x += charWidth; | 25 x += charWidth; |
23 } | 26 } |
24 | 27 |
25 if (window.testRunner) | 28 if (window.testRunner) |
26 $('container').outerHTML = ''; | 29 $('container').outerHTML = ''; |
27 </script> | 30 </script> |
OLD | NEW |