| <!doctype html> |
| <html> |
| <head> |
| <style type="text/css" title="teste"> |
| .box { |
| margin: 0px; |
| padding: 0px; |
| overflow: hidden; |
| } |
| .border { border:1px solid black; } |
| |
| /* font family classes */ |
| .mono { font-family: monospace; } |
| .monofallthrough { font-family: nonexistant, monospace; } |
| .serif { font-family: serif; } |
| .sans-serif { font-family: sans-serif; } |
| .courier { font-family: courier; } |
| .arial { font-family: arial; } |
| .times { font-family: times; } |
| .helvetica { font-family: helvetica; } |
| |
| /* ch-length containers */ |
| .one { width: 1ch; } |
| .four { width: 4ch; } |
| .zero { width: 0ch; } |
| .alphalen { width: 26ch; } |
| |
| /* font sizes for the relative size test */ |
| .large { font-size:20px; } |
| .relative { font-size:1ch; } |
| |
| /* pass/fail colors */ |
| .pass { color: green; } |
| .fail { color: red; } |
| |
| /* pseudo-elements */ |
| #pseudo{ |
| font-size:2ch; |
| } |
| #pseudo:first-line { |
| font-size:3ch; |
| } |
| #pseudo span:last-child { |
| font-size:1ch; |
| } |
| </style> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script type="text/javascript"> |
| </script> |
| </head> |
| <body id="body"> |
| <p>This is a test to make sure ch units work as intended. You should not see <b>anything</b> red on this page.</p> |
| Only 'PASS' should be visible: |
| <div id="box_mono_zero" class="box mono zero"></div> |
| <script type="text/javascript"> |
| description("This is a test to make sure ch units work as intended.") |
| shouldEvaluateTo('document.getElementById("box_mono_zero").clientWidth', "0"); |
| </script> |
| |
| <div id="box_mono_four1" class="box mono four"><span class="pass">PASS</span><span class="fail">FAIL</span></div> |
| <div id="box_mono_four2" class="box mono four"><span class="pass">PASS</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("box_mono_four1").clientWidth', 'document.getElementById("box_mono_four2").clientWidth'); |
| </script> |
| |
| <div id="box_monofallthrough_four1" class="box monofallthrough four"><span class="pass">PASS</span><span class="fail">FAIL</span></div> |
| <div id="box_monofallthrough_four2" class="box monofallthrough four"><span class="pass">PASS</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("box_monofallthrough_four1").clientWidth', 'document.getElementById("box_monofallthrough_four2").clientWidth'); |
| </script> |
| |
| The whole lower case alphabet should be readable: |
| <div id="mono_box_alphalen1" class="mono box alphalen"><span class="pass">abcdefghijklmnopqrstuvwxyz</span><span class="fail">FAIL</span></div> |
| <div id="mono_box_alphalen2" class="mono box alphalen"><span class="pass">abcdefghijklmnopqrstuvwxyz</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("mono_box_alphalen1").clientWidth', 'document.getElementById("mono_box_alphalen2").clientWidth'); |
| </script> |
| |
| <div id="box_one" class="box one"></div> |
| <div id="box_alphalen" class="box alphalen"><span class="pass">abcdefghijklmnopqrstuvwxyz</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("box_one").clientWidth * 26', 'document.getElementById("box_alphalen").clientWidth'); |
| </script> |
| |
| <div id="arial_box_one" class="arial box one"></div> |
| <div id="arial_box_alphalen" class="arial box alphalen"><span class="pass">abcdefghijklmnopqrstuvwxyz</span></div> |
| |
| <div id="helvetica_box_one" class="helvetica box one"></div> |
| <div id="helvetica_box_alphalen" class="helvetica box alphalen"><span class="pass">abcdefghijklmnopqrstuvwxyz</span></div> |
| |
| Four zeroes should be visible, nothing else: |
| <div id="times_box_one" class="times box one"></div> |
| <div id="box_times_four" class="box times four"><span class="pass">0000</span><span class="fail">FAIL</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("times_box_one").clientWidth * 4', 'document.getElementById("box_times_four").clientWidth'); |
| </script> |
| |
| <div id="box_arial_four" class="box arial four"><span class="pass">0000</span><span class="fail">FAIL</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("arial_box_one").clientWidth * 4', 'document.getElementById("box_arial_four").clientWidth'); |
| </script> |
| |
| <div id="box_helvetica_four" class="box helvetica four"><span class="pass">0000</span><span class="fail">FAIL</span></div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("helvetica_box_one").clientWidth * 4', 'document.getElementById("box_helvetica_four").clientWidth'); |
| </script> |
| |
| There should be more than one green '|' visible (non-monospaced fonts): |
| <div id="box_arial_one" class="box arial one"><span class="pass">|</span><span class="pass">||0</span><span class="fail">||||</span></div> |
| <div id="ref_box_arial_one" class="box arial" style="display:inline-block"><span class="pass">|</span><span class="pass">||</span></div> |
| <script type="text/javascript"> |
| shouldBeGreaterThanOrEqual('document.getElementById("ref_box_arial_one").clientWidth', 'document.getElementById("box_arial_one").clientWidth'); |
| </script> |
| |
| <div id="box_times_one" class="box times one"><span class="pass">|</span><span class="pass">||0</span><span class="fail">||||</span></div> |
| <div id="ref_box_times_one" class="box times" style="display:inline-block"><span class="pass">|</span><span class="pass">||</span></div> |
| <script type="text/javascript"> |
| shouldBeGreaterThanOrEqual('document.getElementById("ref_box_times_one").clientWidth', 'document.getElementById("box_times_one").clientWidth'); |
| </script> |
| |
| <div id="box_sansserif_one" class="box sansserif one"><span class="pass">|</span><span class="pass">||0</span><span class="fail">||||</span></div> |
| <div id="ref_box_sansserif_one" class="box times" style="display:inline-block"><span class="pass">|</span><span class="pass">||</span></div> |
| <script type="text/javascript"> |
| shouldBeGreaterThanOrEqual('document.getElementById("ref_box_sansserif_one").clientWidth', 'document.getElementById("box_sansserif_one").clientWidth'); |
| </script> |
| |
| <div class="border"> |
| This box has a 20px font size. |
| The last two '0's should be the same size. |
| <div class="large pass"> |
| <div id="reference" class="one">0</div> |
| <div id="forcedsmall" class="box one">0</div> |
| <div id="chsmall" class="box one relative">0</div> |
| </div> |
| <script type="text/javascript"> |
| var ref = document.getElementById("reference"); |
| var refWidth = ref.clientWidth; |
| var small = document.getElementById("forcedsmall"); |
| small.style.fontSize = refWidth +"px"; |
| var w1 = small.clientWidth; |
| var h1 = small.clientHeight; |
| var chsmall = document.getElementById("chsmall"); |
| var w2 = chsmall.clientWidth; |
| var h2 = chsmall.clientHeight; |
| shouldBeFalse("w1 !== w2 || h1 !== h2"); |
| </script> |
| </div> |
| <div id="pseudo"> |
| <span id="ps1">I'm a pseudo selected first line, I should be bigger than the rest.</span><br> |
| <span id="ps2">I'm the second line.</span><br> |
| <span id="ps3">Last in line. But one day... the throne will be mine!</span> |
| </div> |
| <script> |
| var ps1h = document.getElementById('ps1').offsetHeight; |
| var ps2h = document.getElementById('ps2').offsetHeight; |
| var ps3h = document.getElementById('ps3').offsetHeight; |
| shouldBeTrue("ps1h > ps2h && ps1h > ps3h"); |
| </script> |
| |
| <div id="box_mono_one" class="box mono one"></div> |
| <div id="box_mono" class="box mono" style="display:inline-block">0</div> |
| <script type="text/javascript"> |
| shouldEvaluateTo('document.getElementById("box_mono_one").clientWidth', 'document.getElementById("box_mono").clientWidth'); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| <script> |
| // Text with '<span class="fail">' must not appear in DumpRenderTree's output, only when opening this file in a web browser. |
| if (window.testRunner) { |
| var CSSRules = 'rules'; |
| for (var i = 0; i < document.styleSheets[0][CSSRules].length; ++i) |
| if (document.styleSheets[0][CSSRules][i].selectorText === ".fail") { |
| document.styleSheets[0][CSSRules][i].style['display'] = 'none'; |
| break; |
| } |
| } |
| </script> |
| </body> |
| </html> |