| <!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> |