179 lines
8.5 KiB
HTML
179 lines
8.5 KiB
HTML
<!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>
|