Cargoify servo

This commit is contained in:
Jack Moffitt 2014-08-28 09:34:23 -06:00
parent db2f642c32
commit c6ab60dbfc
1761 changed files with 8423 additions and 2294 deletions

View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html>
<head>
<title>The Book of Mozilla, 11:9</title>
<style type="text/css">
html {
background: maroon;
color: white;
font-style: italic;
}
#moztext {
margin-top: 15%;
font-size: 1.1em;
font-family: serif;
text-align: center;
line-height: 1.5;
}
#from {
font-size: 1.95em;
font-family: serif;
text-align: right;
}
em {
font-size: 1.3em;
line-height: 0;
}
a {
text-decoration: none;
color: white;
}
</style>
</head>
<body>
<p id="moztext">
Mammon slept. And the <em>beast reborn</em> spread over the earth and its numbers
grew legion. And they proclaimed the times and <em>sacrificed</em> crops unto the
fire, with the <em>cunning of foxes</em>. And they built a new world in their own
image as promised by the <em><a href="http://www.mozilla.org/about/mozilla-manifesto.html">
sacred words</a></em>, and <em><a href="http://wiki.mozilla.org/About:mozilla">spoke
</a></em> of the beast with their children. Mammon awoke, and lo! it was
<em>naught</em> but a follower.
</p>
<p id="from">
from <strong>The Book of Mozilla,</strong> 11:9<br/><small>(10th Edition)</small>
</p>
</body>
</html>

183
tests/html/acid1.html Normal file
View file

@ -0,0 +1,183 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>
display/box/float/clear test
</title>
<style type="text/css">
/* last modified: 1 Dec 98 */
html {
font: 10px/1 Verdana, sans-serif;
background-color: blue;
color: white;
}
body {
margin: 1.5em;
border: .5em solid black;
padding: 0;
width: 48em;
background-color: white;
}
dl {
margin: 0;
border: 0;
padding: .5em;
}
dt {
background-color: rgb(204,0,0);
margin: 0;
padding: 1em;
width: 10.638%; /* refers to parent element's width of 47em. = 5em or 50px */
height: 28em;
border: .5em solid black;
float: left;
}
dd {
float: right;
margin: 0 0 0 1em;
border: 1em solid black;
padding: 1em;
width: 34em;
height: 27em;
}
ul {
margin: 0;
border: 0;
padding: 0;
}
li {
display: block; /* i.e., suppress marker */
color: black;
height: 9em;
width: 5em;
margin: 0;
border: .5em solid black;
padding: 1em;
float: left;
background-color: #FC0;
}
#bar {
background-color: black;
color: white;
width: 41.17%; /* = 14em */
border: 0;
margin: 0 1em;
}
#baz {
margin: 1em 0;
border: 0;
padding: 1em;
width: 10em;
height: 10em;
background-color: black;
color: white;
}
form {
margin: 0;
display: inline;
}
p {
margin: 0;
}
form p {
line-height: 1.9;
}
blockquote {
margin: 1em 1em 1em 2em;
border-width: 1em 1.5em 2em .5em;
border-style: solid;
border-color: black;
padding: 1em 0;
width: 5em;
height: 9em;
float: left;
background-color: #FC0;
color: black;
}
address {
font-style: normal;
}
h1 {
background-color: black;
color: white;
float: left;
margin: 1em 0;
border: 0;
padding: 1em;
width: 10em;
height: 10em;
font-weight: normal;
font-size: 1em;
}
</style>
</head>
<body>
<dl>
<dt>
toggle
</dt>
<dd>
<ul>
<li>
the way
</li>
<li id="bar">
<p>
the world ends
</p>
<form action="./" method="get">
<p>
bang
<input name="foo" value="off" type="radio">
</p>
<p>
whimper
<input name="foo2" value="on" type="radio">
</p>
</form>
</li>
<li>
i grow old
</li>
<li id="baz">
pluot?
</li>
</ul>
<blockquote>
<address>
bar maids,
</address>
</blockquote>
<h1>
sing to me, erbarme dich
</h1>
</dd>
</dl>
<p style="color: black; font-size: 1em; line-height: 1.3em; clear: both">
This is a nonsensical document, but syntactically valid HTML 4.0. All
100%-conformant CSS1 agents should be able to render the document
elements above this paragraph indistinguishably (to the pixel) from this
<a href="http://www.w3.org/Style/CSS/Test/CSS1/current/sec5526c.gif">reference rendering,</a>
(except font rasterization and form widgets). All discrepancies
should be traceable to CSS1 implementation shortcomings. Once you have
finished evaluating this test, you can return to the <a href="http://www.w3.org/Style/CSS/Test/CSS1/current/sec5526c.htm">parent page</a>.
</p>
</body></html>

145
tests/html/acid2.html Executable file
View file

@ -0,0 +1,145 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>The Second Acid Test</title>
<style type="text/css">
/* section numbers refer to CSS2.1 */
/* page setup */
html { font: 12px sans-serif; margin: 0; padding: 0; overflow: hidden; /* hides scrollbars on viewport, see 11.1.1:3 */ background: white; color: red; }
body { margin: 0; padding: 0; }
/* introduction message */
.intro { font: 2em sans-serif; margin: 3.5em 2em; padding: 0.5em; border: solid thin; background: white; color: black; position: relative; z-index: 2; /* should cover the black and red bars that are fixed-positioned */ }
.intro * { font: inherit; margin: 0; padding: 0; }
.intro h1 { font-size: 1em; font-weight: bolder; margin: 0; padding: 0; }
.intro :link { color: blue; }
.intro :visited { color: purple; }
/* picture setup */
#top { margin: 100em 3em 0; padding: 2em 0 0 .5em; text-align: left; font: 2em/24px sans-serif; color: navy; white-space: pre; } /* "Hello World!" text */
.picture { position: relative; border: 1em solid transparent; margin: 0 0 100em 3em; } /* containing block for face */
.picture { background: red; } /* overriden by preferred stylesheet below */
/* top line of face (scalp): fixed positioning and min/max height/width */
.picture p { position: fixed; margin: 0; padding: 0; border: 0; top: 9em; left: 11em; width: 140%; max-width: 4em; height: 8px; min-height: 1em; max-height: 2mm; /* min-height overrides max-height, see 10.7 */ background: black; border-bottom: 0.5em yellow solid; }
/* bits that shouldn't be part of the top line (and shouldn't be visible at all): HTML parsing, "+" combinator, stacking order */
.picture p.bad { border-bottom: red solid; /* shouldn't matter, because the "p + table + p" rule below should match it too, thus hiding it */ }
.picture p + p { background: maroon; z-index: 1; } /* shouldn't match anything */
.picture p + table + p { margin-top: 3em; /* should end up under the absolutely positioned table below, and thus not be visible */ }
/* second line of face: attribute selectors, float positioning */
[class~=one].first.one { position: absolute; top: 0; margin: 36px 0 0 60px; padding: 0; border: black 2em; border-style: none solid; /* shrink wraps around float */ }
[class~=one][class~=first] [class=second\ two][class="second two"] { float: right; width: 48px; height: 12px; background: yellow; margin: 0; padding: 0; } /* only content of abs pos block */
/* third line of face: width and overflow */
.forehead { margin: 4em; width: 8em; border-left: solid black 1em; border-right: solid black 1em; background: red url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4%2F58BAAT%2FAf9jgNErAAAAAElFTkSuQmCC); /* that's a 1x1 yellow pixel PNG */ }
.forehead * { width: 12em; line-height: 1em; }
/* class selectors headache */
.two.error.two { background: maroon; } /* shouldn't match */
.forehead.error.forehead { background: red; } /* shouldn't match */
[class=second two] { background: red; } /* this should be ignored (invalid selector -- grammar says it only accepts IDENTs or STRINGs) */
/* fourth and fifth lines of face, with eyes: paint order test (see appendix E) and fixed backgrounds */
/* the two images are identical: 2-by-2 squares with the top left
and bottom right pixels set to yellow and the other two set to
transparent. Since they are offset by one pixel from each other,
the second one paints exactly over the transparent parts of the
first one, thus creating a solid yellow block. */
.eyes { position: absolute; top: 5em; left: 3em; margin: 0; padding: 0; background: red; }
#eyes-a { height: 0; line-height: 2em; text-align: right; } /* contents should paint top-most because they're inline */
#eyes-a object { display: inline; vertical-align: bottom; }
#eyes-a object[type] { width: 7.5em; height: 2.5em; } /* should have no effect since that object should fallback to being inline (height/width don't apply to inlines) */
#eyes-a object object object { border-right: solid 1em black; padding: 0 12px 0 11px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABnRSTlMAAAAAAABupgeRAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAAEUlEQVR42mP4%2F58BCv7%2FZwAAHfAD%2FabwPj4AAAAASUVORK5CYII%3D) fixed 1px 0; }
#eyes-b { float: left; width: 10em; height: 2em; background: fixed url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABnRSTlMAAAAAAABupgeRAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAAEUlEQVR42mP4%2F58BCv7%2FZwAAHfAD%2FabwPj4AAAAASUVORK5CYII%3D); border-left: solid 1em black; border-right: solid 1em red; } /* should paint in the middle layer because it is a float */
#eyes-c { display: block; background: red; border-left: 2em solid yellow; width: 10em; height: 2em; } /* should paint bottom most because it is a block */
/* lines six to nine, with nose: auto margins */
.nose { float: left; margin: -2em 2em -1em; border: solid 1em black; border-top: 0; min-height: 80%; height: 60%; max-height: 3em; /* percentages become auto (see 10.5 and 10.7) and intrinsic height is more than 3em, so 3em wins */ padding: 0; width: 12em; }
.nose > div { padding: 1em 1em 3em; height: 0; background: yellow; }
.nose div div { width: 2em; height: 2em; background: red; margin: auto; }
.nose :hover div { border-color: blue; }
.nose div:hover :before { border-bottom-color: inherit; }
.nose div:hover :after { border-top-color: inherit; }
.nose div div:before { display: block; border-style: none solid solid; border-color: red yellow black yellow; border-width: 1em; content: ''; height: 0; }
.nose div :after { display: block; border-style: solid solid none; border-color: black yellow red yellow; border-width: 1em; content: ''; height: 0; }
/* between lines nine and ten: margin collapsing with 'float' and 'clear' */
.empty { margin: 6.25em; height: 10%; /* computes to auto which makes it empty per 8.3.1:7 (own margins) */ }
.empty div { margin: 0 2em -6em 4em; }
.smile { margin: 5em 3em; clear: both; /* clearance is negative (see 8.3.1 and 9.5.1) */ }
/* line ten and eleven: containing block for abs pos */
.smile div { margin-top: 0.25em; background: black; width: 12em; height: 2em; position: relative; bottom: -1em; }
.smile div div { position: absolute; top: 0; right: 1em; width: auto; height: 0; margin: 0; border: yellow solid 1em; }
/* smile (over lines ten and eleven): backgrounds behind borders, inheritance of 'float', nested floats, negative heights */
.smile div div span { display: inline; margin: -1em 0 0 0; border: solid 1em transparent; border-style: none solid; float: right; background: black; height: 1em; }
.smile div div span em { float: inherit; border-top: solid yellow 1em; border-bottom: solid black 1em; } /* zero-height block; width comes from (zero-height) child. */
.smile div div span em strong { width: 6em; display: block; margin-bottom: -1em; /* should have no effect, since parent has top&bottom borders, so this margin doesn't collapse */ }
/* line twelve: line-height */
.chin { margin: -4em 4em 0; width: 8em; line-height: 1em; border-left: solid 1em black; border-right: solid 1em black; background: yellow url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9lnQ7FpHGaOurt1I34nfH9pMMZAZ8BwMGEvvh%2BBsJCAgICLwIOA8EBAQEBAQEBAQEBK79H5RfIQAAAAAAAAAAAAAAAAAAAAAAAAAAAID%2FABMSqAfj%2FsLmvAAAAABJRU5ErkJggg%3D%3D) /* 64x64 red square */ no-repeat fixed /* shouldn't be visible unless the smiley is moved to the top left of the viewport */; }
.chin div { display: inline; font: 2px/4px serif; }
/* line thirteen: cascade and selector tests */
.parser-container div { color: maroon; border: solid; color: orange; } /* setup */
div.parser-container * { border-color: black; /* overrides (implied) border-color on previous line */ } /* setup */
* div.parser { border-width: 0 2em; /* overrides (implied) declarations on earlier line */ } /* setup */
/* line thirteen continued: parser tests */
.parser { /* comment parsing test -- comment ends before the end of this line, the backslash should have no effect: \*/ }
.parser { margin: 0 5em 1em; padding: 0 1em; width: 2em; height: 1em; error: \}; background: yellow; } /* setup with parsing test */
* html .parser { background: gray; }
\.parser { padding: 2em; }
.parser { m\argin: 2em; };
.parser { height: 3em; }
.parser { width: 200; }
.parser { border: 5em solid red ! error; }
.parser { background: red pink; }
/* line fourteen (last line of face): table */
ul { display: table; padding: 0; margin: -1em 7em 0; background: red; }
ul li { padding: 0; margin: 0; }
ul li.first-part { display: table-cell; height: 1em; width: 1em; background: black; }
ul li.second-part { display: table; height: 1em; width: 1em; background: black; } /* anonymous table cell wraps around this */
ul li.third-part { display: table-cell; height: 0.5em; /* gets stretched to fit row */ width: 1em; background: black; }
ul li.fourth-part { list-style: none; height: 1em; width: 1em; background: black; } /* anonymous table cell wraps around this */
/* bits that shouldn't appear: inline alignment in cells */
.image-height-test { height: 10px; overflow: hidden; font: 20em serif; } /* only the area between the top of the line box and the top of the image should be visible */
table { margin: 0; border-spacing: 0; }
td { padding: 0; }
</style>
<link rel="appendix stylesheet" href="data:text/css,.picture%20%7B%20background%3A%20none%3B%20%7D"> <!-- this stylesheet should be applied by default -->
</head>
<body>
<div class="intro">
<h1>Standards compliant?</h1>
<p><a href="#top">Take The Acid2 Test</a> and compare it to <a
href="reference.html">the reference rendering</a>.</p>
</div>
<h2 id="top">Hello World!</h2>
<div class="picture">
<p><table><tr><td></table><p class="bad"> <!-- <table> closes <p> per the HTML4 DTD -->
<blockquote class="first one"><address class="second two"></address></blockquote>
<div class="forehead"><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div></div>
<div class="eyes"><div id="eyes-a"><object data="data:application/x-unknown,ERROR"><object data="http://www.damowmow.com/404/" type="text/html"><object data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAFy7sgCAAAGsUlEQVRo3u2ZbWwcZxHHf3s%2B7LNbO3ZjXBtowprGODRX0qpNQCjmJKuVKhMl1P2AkCwhFOIKkCBSm9IXavGFKAixIAECwkmWo5MrhRI3Ub40IEwQgp6aIDg3Cd6eEqyIHEteah%2B1E69vhw%2BZtTaX8704ZzkKjHS6271nZ56ZZ%2BY%2F%2F%2BdZKF%2FCwYshx3EkkggLsD1v4FQkEZZYLCbAKyG9%2Ba9EIsG6hnUAf8x74K3aUC3j4%2BM54HcsR2oAIomwZOezkv%2FnSHpYNh%2BNCmAE7xv94zvFdd1bHsjMZmQkPSxAJP%2B%2FfuBLwK54PC7JZFKAVJmzXLBt2w%2FMvcDLwIb8QS8CeJ4nkURYIomw7J%2FYJ8BvSiiXptGGxWds2%2Fa9%2Bnaxh%2BYAD%2Bgt04NDgABTpQY2cvvSFLzw86gWeBVwC8SzlOSv2YeBPfmDBoBHgKmR9LBEEmHZfDTqGykqfkUE0nA78BzQGfSgUeP3wNeTXwXg7MwZDhw4UHL6ra2ti79%2FOvljgG8AZ4H64Lhm4MvAocxsRppGG%2FxcXihlwLIs6R%2FfKV2HO%2F26uA94pdDYUKUZUU7W1RQYXA98Gnhaf5%2FXWX0HeAHYoQonqa4sZSOsSWMCWeC9Yko%2BCQwBe4E6oNc0Tc91XTl1%2BaTsn9gnI%2Blhyc5nZWxsrBIkKSbl2tiic3tW53YDEwOKaoFBrcOfqKee53lG9xsPMjV784r%2F4lO%2FpPvyJ9iyZcuvFSaXK5XYeAZ4CDgGvB3MS4B54LQuWYPeuy4iRFsevsXqpuYoqVQKIH2bK1CuDQNo11o4XUzh%2FcDWYIe1LEtyuZx4niee54njOGKapgfsqlL%2Bl2OjEXg8nxrc1dJ0h3hbtL%2BGCtz7KPBF4CuBe9uB15VafE8hr9qylI3HgG8C2%2FK7VyHZoJj7MrBRm30qFotJMpkU27YlHo%2F7Ha5a%2BV%2FKRkSJ4KuKRLVLKapTjB1SzAVIjY2NSXY%2BKyPpYdk%2FsU9OXT4pruv6BdZbBQfKsVGnvWlIe1VB6VQO8JxC1vZYLCbZ%2BaxsPhpdZDyRRFhG0sPiOE6ldKBg2lRg4xF1YCDIIIKN7DGgD3gH%2BBXwejKZfPrs2tPs%2FvPN2bKuYR1nd7xLKBSSJeqoXKnERjPwNWAG%2BLn2rZuM%2B4Tpml6vaWlp4eLcxVusZq5lCgVgOVKJjRqdX86ffL4D5wIoZACnTpw4wRMdT96i%2FImOJxERAs4uVyqxUacF%2FPdiCj%2BjdRBRGFtwXVdG0sPSdbhTmkYbpH98p2RmM2JZlig1vl0GWo4NQ%2Fn%2Bs5pKRXfwjweaxy7TND3HcRZbfC6X8xVPVQlGy7WxVWlO5XRXFXm6EZmrQuSXYyPE3SiVoEhE6Wyr0u2rumO6zv%2B21AFdQAswC1wCMuUCXCmyWQus103Qg8qlDO0lxwOb%2Fl4FiK3AB3VS%2FuKKLtK%2FgbeAnwG%2FvUODuRw%2FFrR0H1UC75fwu8oJ%2FhFsW5VIG%2FBUgEIN6Y65O4AHu4Ap0zQ9y7LEcZyb9lRBUHQcRyzL8unZVBW5bFWAvAp%2BhDQ2g4F47dUYtlU6obXA54DnVdFLekjUGGifh4AFy7LEdV3xj3X9I66m0QZpGm2QrsOd0j%2B%2BU0bSw5KZzYjrun6HWlAd961i4FfCj0aN1Usau%2Bc1lmuXPFwvAEumUut7tQQvAb%2FXb%2FT0bCAej9cODg7yt%2Bm%2F8q2%2F7OUHZ76PnZ1k2p0mJzlykmPancbOTnL0whHs7CQfb%2B5mx2d3sH79%2BtCRI0c6FeaOr9ICrIQfLvA%2B8BGNXxi4R6HrisJVUWrxAVW2oMFf0Aczim8o3kV6enowDIPjF9%2Fk%2BMU3S3rrjzMMg56eHr%2BxP7qKFbASfojG6kpeDGs1tiW53RxwWT%2Bin5q8w4xpQK5evQpAR30H7ZH2khNvj7TTUd8BgD4rqmu1ZKX8qNeY%2BfHz4zlXDgT5E8tpCTUq7XSBC4Euv8227TV9fX1E73%2BYtvo27BmbS9cvFVTY3bSRFza9yOcf6Gfmygy7d%2B%2Fm%2FPnzF4DvrsBLhnJlJfwIKXxv1PheAE4qK6p4H9AGbNKTuhngBPBPXYRe4IemaT5kWZbR19fHNbmGnZ1k4r3U4glDR30Hm5qjbGjsImJEOHbsGHv27JFz5869o0eFq01Jq%2BmHAXwI6FFKagMTgHM7GzFDS%2BoeLSMv7zjzC9x4Y7gxFovVDAwMEI1GaWlpWSzRVCrFwYMH%2FXfxZ4AfAa8B%2F7lDaGg1%2FQgp43lfK0yqtRMuJa3ceKe5DfgYsCYAZ2ngD8CfAkzqTpW7xY%2F%2FSznyX%2FVeUb2kVmX4AAAAAElFTkSuQmCC">ERROR</object></object></object></div><div id="eyes-b"></div><div id="eyes-c"></div></div> <!-- that's a PNG with 8bit alpha containing two eyes -->
<div class="nose"><div><div></div></div></div>
<div class="empty"><div></div></div>
<div class="smile"><div><div><span><em><strong></strong></em></span></div></div></div>
<div class="chin"><div>&nbsp;</div></div>
<div class="parser-container"><div class="parser"><!-- ->ERROR<!- --></div></div> <!-- two dashes is what delimits a comment, so the text "->ERROR<!-" earlier on this line is actually part of a comment -->
<ul>
<li class="first-part"></li>
<li class="second-part"></li>
<li class="third-part"></li>
<li class="fourth-part"></li>
</ul>
<div class="image-height-test"><table><tr><td><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9lnQ7FpHGaOurt1I34nfH9pMMZAZ8BwMGEvvh%2BBsJCAgICLwIOA8EBAQEBAQEBAQEBK79H5RfIQAAAAAAAAAAAAAAAAAAAAAAAAAAAID%2FABMSqAfj%2FsLmvAAAAABJRU5ErkJggg%3D%3D" alt=""></td></tr></table></div>
</div>
</body>
</html>

BIN
tests/html/andreas.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View file

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<title>Fixed Table</title>
<style>
.table {
display: table;
table-layout: fixed;
width: 600px;
border: solid black 2px;
}
.colgroup {
display: table-column-group;
}
.column {
display: table-column;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
border: solid red 1px;
}
</style>
</head>
<body>
<p> This test checks Anonymous table objects(CSS 2.1, Section 17.2.1) </p>
<p> 1. Remove irrelevant boxes</p>
<p> 2. Generate missing child wrappers: `table-row`, `table-cell` </p>
<div class="table">
<span class="column"> inline child box of table-column. NOT Shown </span>
<span class="colgroup">
<span>inline child box of table-column-group</span> NOT Shown
</span>
<span class="cell">Cell1</span>
<span class="cell">Cell2</span>
<span class="row">
2nd Row
<span>Cell4</span>
<span class="cell">Cell3</span>
Cell5
</span>
</div>
</body>
<html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<style>
.test { background: url(rust-0.png) gray; }
</style>
<body>
<div class="test" style="width:200px; height:200px; color:red;">
background: url(rust-0.png) gray; width:200px; height:200px;
</div>
<div class="test" style="background-image: url(rust-45.png); width:200px; height:200px; color:red;">
background-image: url(rust-45.png); width:200px; height:200px;
</div>
<div style="background: url(rust-90.png) yellow; width:200px; height:200px; border: 5px solid #000; color:blue;">
background: url(rust-90.png) yellow; width:200px; height:200px; border: 5px solid #000;
</div>
</body>
</html>

View file

@ -0,0 +1 @@
<html> <head> <style> p { color: white; } p.blue { background-color: blue; } p.red { background-color: red; } </style> </head> <body> <p class="blue"> I am a paragraph. My background color is blue. </p> <p class="red"> I am a paragraph. My background color is red. </p> </body> </html>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title>box model smoketest</title>
<style>
body {
margin: 0;
}
#outer {
background-color: red;
margin: 0;
padding: 0;
}
#inner {
margin: 16px;
border: solid green 16px;
padding: 16px;
background-color: blue;
color: white;
}
</style>
</head>
<body><div id=outer><div id=inner>Ten points for Gryffindor</div></div></body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<style>
.red { color: red; }
.blue { color: blue; }
</style>
<script>
window.setTimeout(function () {
window.document.getElementsByTagName('div')[0].setAttribute('class', 'blue');
window.document.getElementsByTagName('div')[1].setAttribute('style', 'color:red;');
}, 1000);
</script>
</head>
<body>
<div id="change" class="red">Hello, World!</div>
<div id="change" style="color:blue;">Hello, Servo!</div>
</body>
</html>

View file

@ -0,0 +1,15 @@
<head>
<body>
<div>
Here come the combining character sequences:
&#168;
A&#776; = &#196;
a&#776; = &#228;
O&#776; = &#214;
o&#776; = &#246;
U&#776; = &#220;
u&#776; = &#252;
Z&#776;
z&#776;
</div>
</body>

43
tests/html/demo.css Normal file
View file

@ -0,0 +1,43 @@
body {
background-color: rgb(200, 255, 255)
}
#hello {
background-color: blue;
color: red
}
#kitty {
position: absolute;
top: 200px;
left: 100px;
border-color: rgb(0, 0, 0);
border-width: 10px
}
#boxa {
position: absolute;
top: 50px;
left: 500px;
width: 100px;
height: 100px;
background-color: rgba(255, 0, 0, 0.5)
}
#boxb {
position: absolute;
top: 70px;
left: 580px;
width: 100px;
height: 100px;
background-color: rgba(0, 255, 0, 0.5)
}
#boxc {
position: absolute;
top: 130px;
left: 550px;
width: 100px;
height: 100px;
background-color: rgba(0, 0, 255, 0.5)
}

22
tests/html/demo.html Normal file
View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="demo.css" />
</head>
<body>
<div id="hello">hello, world</div>
<div id="lipsum">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc volutpat feugiat fermentum. Curabitur luctus consequat urna a tincidunt. Nullam vitae velit eu arcu congue volutpat in a diam. Pellentesque lacus ipsum, gravida et tristique sit amet, varius eu ipsum. Duis venenatis sem id nibh commodo tempor. Curabitur risus tellus, cursus quis pellentesque sed, elementum eget neque. Sed ultricies, orci et adipiscing dapibus, mauris nisi condimentum felis, ac euismod tellus nunc vel felis. Aliquam egestas accumsan turpis, a volutpat dui fermentum id. Aliquam erat volutpat. Nunc vel auctor odio. Donec eu posuere dolor. Donec vitae justo purus, nec bibendum lectus. Quisque elit tortor, tristique vel ultricies sed, euismod sed tellus. Nullam dolor purus, porta et hendrerit id, rhoncus eu lectus. Nam vel lorem at dui mattis pretium eget a nisi.
</div>
<div id="boxa">HEA</div>
<div id="boxb">HEA</div>
<div id="boxc">HEA</div>
<img id="kitty" src="test.jpeg"></img>
</body>
</html>

View file

@ -0,0 +1,8 @@
<html>
<head>
<title>Such browser</title>
</head>
<body>
<img src="doge-servo.jpg"/>
</body>
</html>

BIN
tests/html/doge-servo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

8
tests/html/failure.html Normal file
View file

@ -0,0 +1,8 @@
<html>
<head>
<title>about:failure</title>
</head>
<body>
<img src="itried.jpg"/>
</body>
</html>

20
tests/html/filmstrip.html Normal file
View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<title>Filmstrip</title>
</head>
<body>
<p><img src="longcattop.png"></p>
<p><img src="longcatbot.png"></p>
<script>
var index = 0;
function change() {
document.getElementsByTagName("img")[0].src = "rust-" + (index * 45) + ".png";
index = (index + 1) % 8;
setTimeout(change, 100);
}
change();
</script>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!-- This test creates one table, one caption, three rows, three header cells, and five data cells.
The table uses the fixed table layout algorithm and the table's width specified to 600px.
Each column's width will be assigned as follows:
- 1st column: 200px (because it is defined in col element)
- 2nd column: 100px (because it is defined in first row)
- 3rd column: remaining width (becuase it is not defined so the remaining width is assigned)
And table, caption, td, th elements have border. -->
<!DOCTYPE html>
<html>
<head>
<title>Fixed Table</title>
<style>
table {
table-layout: fixed;
width: 600px;
border: solid black 2px;
}
caption { border: solid blue 1px; }
td { border: solid red 1px; }
th { border: solid red 1px; }
</style>
</head>
<body>
<table>
<caption>This is a 3x3 fixed table</caption>
<colgroup>
<col style="width: 200px" />
</colgroup>
<tbody>
<tr><th style="width: 100px">Header 1</th><td style="width: 100px">Cell 1</td><td>Cell 2</td></tr>
<tr><th style="width: 300px">Header 2</th><td style="width: 300px">Cell 3</th><td>Cell 4</td></tr>
<tr><th>Header 3</th><td>Cell 5</th></tr>
</tbody>
</table>
</body>
<html>

View file

@ -0,0 +1,36 @@
<!-- This test creates one table, one caption, three rows, three header cells, and five data cells.
The table uses the fixed table layout algorithm and the table's width specified to 600px.
Each column's width will be assigned according to their ratio of column's widths
which are defined in col elements.
And table, caption, td, th elements have border. -->
<!DOCTYPE html>
<html>
<head>
<title>Fixed Table</title>
<style>
table {
table-layout: fixed;
width: 600px;
border: solid black 2px;
}
caption { border: solid blue 1px; }
td { border: solid red 1px; }
th { border: solid red 1px; }
</style>
</head>
<body>
<table>
<caption>This is a 3x3 fixed table</caption>
<colgroup>
<col style="width: 10px" />
<col style="width: 20px" />
<col style="width: 30px" />
</colgroup>
<tbody>
<tr><th style="width: 100px">Header 1</th><td style="width: 100px">Cell 1</td><td>Cell 2</td></tr>
<tr><th style="width: 300px">Header 2</th><td style="width: 300px">Cell 3</th><td>Cell 4</td></tr>
<tr><th>Header 3</th><td>Cell 5</th></tr>
</tbody>
</table>
</body>
<html>

View file

@ -0,0 +1,39 @@
<!-- This test creates one table, one caption, three rows, three header cells, and five data cells.
The table uses the fixed table layout algorithm and the table's width specified to 600px.
Each column's width will be assigned as follows:
- 1st & 2nd column: 200px (because it is defined in col element)
- 3rd & 4th column: remaining width / 2
(becuase it is not defined so the remaining width is equally divided)
And table, caption, td, th elements have border. -->
<!DOCTYPE html>
<html>
<head>
<title>Fixed Table</title>
<style>
table {
table-layout: fixed;
width: 600px;
border: solid black 2px;
}
caption { border: solid blue 1px; }
td { border: solid red 1px; }
th { border: solid red 1px; }
</style>
</head>
<body>
<table>
<caption>This is a 3x4 fixed table</caption>
<colgroup>
<col style="width: 200px" />
<col style="width: 200px" />
<col />
<col />
</colgroup>
<tbody>
<tr><th>Header 1</th><td>Cell 1</td><td>Cell 2</td></tr>
<tr><th>Header 2</th><td>Cell 3</th><td>Cell 4</td></tr>
<tr><th>Header 3</th><td>Cell 5</th></tr>
</tbody>
</table>
</body>
<html>

View file

@ -0,0 +1,40 @@
<!-- This test creates one table, three rows, three header cells, and six data cells.
The table uses the fixed table layout algorithm and the table's width specified to 600px.
Each column's width will be assigned as 200px.
Each table row height is decided as max(specified row height, specified cells' heights, cells' minimum content heights).
As a result, each table row height will be assigned as followings:
- 1st row: 30px (specified cell height)
- 2nd row: 50px (specified row height)
- 3rd row: minimum content height
-->
<!DOCTYPE html>
<html>
<head>
<title>Table Height Test</title>
<style>
table {
table-layout: fixed;
width: 600px;
border: solid black 2px;
}
caption {
border: solid blue 1px;
}
td, th {
border: solid red 1px;
padding: 0px;
}
</style>
</head>
<body>
<table>
<caption>This test checks table height algorithm (CSS 2.1, Section 17.5.3),
excluding `vertical-align` and percentage height</caption>
<tbody>
<tr style="height:10px"><th>Header 1</th><td style="height: 30px">Cell 1</td><td>Cell 2</td></tr>
<tr style="height:50px"><th>Header 2</th><td>Cell 3</td><td style="height:10px">Cell 4</td></tr>
<tr style="height:20px"><th>Header 3</th><td style="height:10px">Cell 5</td><td><div>Cell6</div><p>Cell6</td></tr>
</tbody>
</table>
</body>
<html>

View file

@ -0,0 +1,30 @@
<!-- This test creates one table, one caption, three rows, three header cells, and six data cells.
The table uses fixed table layout algorithm and the table's width specified to 600px.
Each column should have same width because the column's widths are not defined here.
And table, caption, td, th elements have border. -->
<!DOCTYPE html>
<html>
<head>
<title>Simple Fixed Table</title>
<style>
table {
table-layout: fixed;
width: 600px;
border: solid black 2px;
}
caption { border: solid blue 1px; }
td { border: solid red 1px; }
th { border: solid red 1px; }
</style>
</head>
<body>
<table>
<caption>This is a 3x3 fixed table</caption>
<tbody>
<tr><th>Header 1</th><td>Cell 1</td><td>Cell 2</td></tr>
<tr><th>Header 2</th><td>Cell 3</td><td>Cell 4</td></tr>
<tr><th>Header 3</th><td>Cell 5</td><td>Cell 6</td></tr>
</tbody>
</table>
</body>
<html>

View file

@ -0,0 +1,50 @@
<!-- This test creates one table, one caption, three rows, three header cells, and five data cells.
The table uses the fixed table layout algorithm and the table's width specified to 600px.
Each column's width will be assigned as follows:
- 1st column: 200px (because it is defined in col element)
- 2nd column: 100px (because it is defined in first row)
- 3rd column: remaining width (becuase it is not defined so the remaining width is assigned)
The table and caption elements have border, margin, and padding.
The td and th elements have border and padding. -->
<!DOCTYPE html>
<html>
<head>
<title>Fixed Table with margin, border, and padding</title>
<style>
table {
table-layout: fixed;
width: 600px;
border: solid black 2px;
margin: 10px;
padding: 10px;
}
caption {
border: solid blue 1px;
margin: 5px;
padding: 5px;
}
td {
border: solid red 1px;
padding: 5px;
}
th {
border: solid red 1px;
padding: 5px;
}
</style>
</head>
<body>
<table>
<caption>This is a 3x3 fixed table with margin, border, and padding</caption>
<colgroup>
<col style="width: 200px" />
<col />
</colgroup>
<tbody>
<tr><th style="width: 100px">Header 1</th><td style="width: 100px">Cell 1</td><td>Cell 2</td></tr>
<tr><th>Header 2</th><td>Cell 3</td><td>Cell 4</td></tr>
<tr><th>Header 3</th><td>Cell 5</td></tr>
</tbody>
</table>
</body>
<html>

View file

@ -0,0 +1,6 @@
<head>
<link rel="stylesheet" href="test_linking.css" />
</head>
<body>
<img></img>
</body>

8
tests/html/hello.html Normal file
View file

@ -0,0 +1,8 @@
<!-- This test is used as an example in README.md. Don't rename without changing there too -->
<!DOCTYPE html>
<html>
<body>
<div>Hello, World!</div>
</body>
</html>

7
tests/html/https.html Normal file
View file

@ -0,0 +1,7 @@
<html>
<head>
</head>
<body>
<img src="https://some-site.org/some-image.png"/>
</body>
</html>

View file

@ -0,0 +1 @@
<a><img></a> <div>a</div>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<title>Anonymous text interrupted by a block</title>
<style>
body { display: block }
p { display: inline }
span { display: block }
</style>
</head>
<body>
<p>
This is anonymous text before the SPAN.
<span>This is the content of SPAN.</span>
This is anonymous text after the SPAN.
</p>
</p>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<title>Anonymous text interrupted by a block</title>
<style>
body { display: block }
p { display: inline }
span { display: block }
</style>
</head>
<body>
<p>
This is anonymous text <p>before the SPAN.
<span>This is the content of SPAN.</span>
This is anonymous text after the SPAN.
</p>
</p>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>Float {ib} split</title>
<style>
span {
float: left;
display: inline;
padding: 6px;
border: solid black 1px;
}
</style>
</head>
<body>
<span>This is anonymous text before the DIV.<div>This is the content of DIV.</div>This is anonymous text after the DIV.</span><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida metus ac nisl faucibus imperdiet. Curabitur vitae nisl vitae mi viverra vehicula. Curabitur porta augue nec ante consequat iaculis. Donec accumsan, est eget blandit vestibulum, est tellus auctor est, in sodales justo nulla sit amet massa. Etiam in est felis. Morbi aliquam leo ac dolor suscipit vestibulum. Nam sagittis enim sodales lacus interdum rutrum. Nulla eu diam sit amet nunc imperdiet venenatis id eget ligula. Mauris vulputate viverra diam vel laoreet. Donec pharetra facilisis lorem, ut auctor risus sagittis eget. Nullam imperdiet lacinia justo in mattis. Nam ornare enim eu mauris aliquet ullamcorper. Nulla neque felis, bibendum dapibus eros ac, malesuada pellentesque nunc. Vivamus et purus vel orci feugiat vestibulum eget a erat.
Praesent a lectus ut mi tempor rhoncus. Curabitur quis mollis libero, sed sagittis risus. Cras eget risus molestie, sollicitudin nunc eu, convallis nisl. Aliquam suscipit ornare lorem, sed sollicitudin diam pharetra eu. Curabitur sit amet ligula malesuada, lobortis dolor in, convallis lorem. Pellentesque porta augue erat, sit amet venenatis enim aliquet in. Donec velit sapien, fringilla ac nisl vitae, cursus auctor elit. Aenean posuere est rhoncus eros adipiscing condimentum. In quis massa tellus. Quisque ultricies tristique nisi in consectetur. Etiam in gravida nibh, facilisis vehicula nisi. Etiam velit sem, sodales sit amet metus laoreet, tristique vestibulum est. Donec porta sollicitudin neque, ut sollicitudin lectus ullamcorper ut. Aenean tincidunt est id odio elementum, eget sollicitudin massa sollicitudin.
Sed nec mi massa. In consequat in ante sit amet accumsan. Donec fermentum, felis a commodo sagittis, nibh nisi iaculis erat, vitae tempus nisl nunc nec ligula. Etiam quis faucibus lorem. Ut vel auctor leo, blandit ultrices arcu. Praesent vitae porttitor felis. Cras placerat odio a suscipit ornare. Sed iaculis molestie felis, quis gravida nisi pulvinar ac. Vivamus consequat turpis id purus posuere, pulvinar pellentesque massa rutrum.
Pellentesque venenatis congue turpis non placerat. Quisque tempus ipsum nec velit imperdiet, sed vulputate leo consequat. Phasellus hendrerit metus non eros aliquam, eu ornare ipsum malesuada. Sed vitae dolor suscipit, suscipit nisi nec, dictum risus. Sed accumsan libero eu tincidunt interdum. Pellentesque in ipsum ac lectus gravida cursus et a dolor. Morbi arcu nulla, semper non consectetur elementum, tincidunt pharetra felis. Nunc nunc nulla, scelerisque sed diam eget, faucibus ornare nibh.
Pellentesque vitae hendrerit arcu. Aliquam rhoncus nisi fermentum nulla adipiscing volutpat. Fusce ut porta eros. Aliquam commodo, neque vitae mattis volutpat, sem nisi laoreet mi, sed laoreet erat orci at sapien. Cras feugiat quis tellus vitae facilisis. Sed a lacus nec nisl facilisis dictum eget elementum diam. Nunc cursus vulputate leo ut placerat. Curabitur congue, erat eu vulputate bibendum, sapien augue pharetra arcu, vel pharetra arcu risus nec mauris.</p></body></html>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>{ib} split</title>
</head>
<body>
<div>
Some text
<p>More text
</div>
</body>
</html>

View file

@ -0,0 +1,11 @@
<html>
<head></head>
<body>
[block background color test]
<p style="background-color:yellow">paragraph yellow</p>
[inline background color test]
<span style="font-size:30px;background-color:blue;"><img src="test.jpeg"/> span bluetexttexttext<span style="font-size:50px;background-color:yellow;">span yellow<span style="font-size:15px;background-color:red">nested-span red</span>test finishes</span></span>
</body>
</html>

BIN
tests/html/itried.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,7 @@
<head>
<style type="text/css">div { font-family: Calibri; font-style: italic; font-size: 80px; }</style>
<body>
<div>
A fellow suffix with some waffles sending a letter, while playing a tutti fb fh tf.
</div>
</body>

View file

@ -0,0 +1,10 @@
#larger1 {
font-size: 20px;
line-height: 2;
}
#larger2 {
font-size: 30px;
line-height: 3;
}

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="lineheight-simple.css"/>
</head>
<body>
<div>Regular font <span id="larger1">Even larger with line-height 2</span></div>
<div id="larger2">line-height 3!</div>
</body>
</html>

36
tests/html/lipsum.html Normal file
View file

@ -0,0 +1,36 @@
<body>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc volutpat feugiat fermentum. Curabitur luctus consequat urna a tincidunt. Nullam vitae velit eu arcu congue volutpat in a diam. Pellentesque lacus ipsum, gravida et tristique sit amet, varius eu ipsum. Duis venenatis sem id nibh commodo tempor. Curabitur risus tellus, cursus quis pellentesque sed, elementum eget neque. Sed ultricies, orci et adipiscing dapibus, mauris nisi condimentum felis, ac euismod tellus nunc vel felis. Aliquam egestas accumsan turpis, a volutpat dui fermentum id. Aliquam erat volutpat. Nunc vel auctor odio. Donec eu posuere dolor. Donec vitae justo purus, nec bibendum lectus. Quisque elit tortor, tristique vel ultricies sed, euismod sed tellus. Nullam dolor purus, porta et hendrerit id, rhoncus eu lectus. Nam vel lorem at dui mattis pretium eget a nisi.
Quisque eleifend risus non metus gravida ac semper odio aliquam. Praesent sed risus in tellus congue convallis. Quisque et magna tellus, in ornare leo. Nunc tempor interdum tortor, non blandit risus rhoncus et. Aliquam pulvinar est sed massa ornare sit amet ornare ligula commodo. Nunc porta ultricies tempor. Phasellus gravida accumsan auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin quis enim tortor. Curabitur pretium diam a arcu rutrum sed sagittis velit placerat. Ut ut mauris quam, luctus iaculis sem. Nulla quis purus quis lacus cursus imperdiet a quis dolor. Nullam hendrerit eros faucibus ante dignissim vel pharetra ligula viverra. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc gravida massa quis nisl venenatis interdum. Integer non dui tortor, non volutpat nisi. In porta accumsan scelerisque. Nunc elementum urna non metus scelerisque ac condimentum eros volutpat. Donec eget nibh condimentum quam tempor vulputate non vel turpis. Quisque suscipit blandit mi quis iaculis. Ut iaculis, nisi ac tristique fringilla, nulla dui interdum lectus, a consectetur mi sapien a metus. Cras eu dolor non dolor imperdiet faucibus. Vestibulum porta risus vel neque convallis elementum. Aenean auctor, turpis eu molestie ultrices, mauris felis sodales est, at iaculis augue libero eu turpis. Curabitur sit amet est quis orci volutpat viverra dignissim in elit. Cras suscipit tristique quam in tincidunt. Aliquam imperdiet libero id dolor egestas viverra egestas arcu posuere. Pellentesque enim risus, accumsan quis ullamcorper ac, malesuada vitae leo.
Cras ullamcorper vestibulum eros nec suscipit. Vivamus tincidunt, metus at tristique sodales, metus massa sagittis elit, eu scelerisque tortor ante ut sapien. Curabitur rutrum fringilla purus, eget commodo neque tincidunt ut. Etiam ac leo sed nisi ultricies ultrices sed in urna. Fusce blandit fermentum ipsum, vitae dapibus eros tempus vel. Praesent ullamcorper nulla sed nisl facilisis aliquam. Mauris consequat dui quis elit pulvinar vitae pellentesque sapien tempor. Sed accumsan consequat tortor, eget hendrerit lectus rhoncus nec. Mauris diam neque, congue ut laoreet a, hendrerit sit amet sem. Donec eget diam orci, ac vehicula orci. Ut sollicitudin ultricies arcu ut faucibus. Nulla felis nisl, auctor eget adipiscing sit amet, sagittis et est. Cras elit nisi, placerat quis tincidunt at, dapibus et arcu. Donec fermentum eleifend pretium. Nullam at posuere nulla. Phasellus at urna a arcu aliquam ullamcorper eget et ligula.
Curabitur fermentum libero vitae libero mattis pulvinar. Vivamus luctus laoreet vulputate. Nunc dictum eros a nulla fringilla quis vestibulum ante malesuada. Suspendisse aliquam vulputate consequat. Duis eu sem eu justo convallis dictum sed ut arcu. Mauris porttitor nulla a augue iaculis posuere euismod mi scelerisque. Maecenas sodales nisi eu turpis fermentum dapibus. Morbi viverra iaculis magna, sed congue justo semper at. Nunc in mi enim. Ut aliquam mi et ligula molestie ac bibendum leo egestas. Nullam molestie, urna ac interdum auctor, dolor diam aliquam ligula, vitae gravida mi orci a tortor. Donec et felis turpis, id lobortis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer feugiat sagittis dictum. Donec mauris ante, feugiat sed ultricies ut, elementum a purus. Sed porta lectus et sem blandit vehicula.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc volutpat feugiat fermentum. Curabitur luctus consequat urna a tincidunt. Nullam vitae velit eu arcu congue volutpat in a diam. Pellentesque lacus ipsum, gravida et tristique sit amet, varius eu ipsum. Duis venenatis sem id nibh commodo tempor. Curabitur risus tellus, cursus quis pellentesque sed, elementum eget neque. Sed ultricies, orci et adipiscing dapibus, mauris nisi condimentum felis, ac euismod tellus nunc vel felis. Aliquam egestas accumsan turpis, a volutpat dui fermentum id. Aliquam erat volutpat. Nunc vel auctor odio. Donec eu posuere dolor. Donec vitae justo purus, nec bibendum lectus. Quisque elit tortor, tristique vel ultricies sed, euismod sed tellus. Nullam dolor purus, porta et hendrerit id, rhoncus eu lectus. Nam vel lorem at dui mattis pretium eget a nisi.
Quisque eleifend risus non metus gravida ac semper odio aliquam. Praesent sed risus in tellus congue convallis. Quisque et magna tellus, in ornare leo. Nunc tempor interdum tortor, non blandit risus rhoncus et. Aliquam pulvinar est sed massa ornare sit amet ornare ligula commodo. Nunc porta ultricies tempor. Phasellus gravida accumsan auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin quis enim tortor. Curabitur pretium diam a arcu rutrum sed sagittis velit placerat. Ut ut mauris quam, luctus iaculis sem. Nulla quis purus quis lacus cursus imperdiet a quis dolor. Nullam hendrerit eros faucibus ante dignissim vel pharetra ligula viverra. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc gravida massa quis nisl venenatis interdum. Integer non dui tortor, non volutpat nisi. In porta accumsan scelerisque. Nunc elementum urna non metus scelerisque ac condimentum eros volutpat. Donec eget nibh condimentum quam tempor vulputate non vel turpis. Quisque suscipit blandit mi quis iaculis. Ut iaculis, nisi ac tristique fringilla, nulla dui interdum lectus, a consectetur mi sapien a metus. Cras eu dolor non dolor imperdiet faucibus. Vestibulum porta risus vel neque convallis elementum. Aenean auctor, turpis eu molestie ultrices, mauris felis sodales est, at iaculis augue libero eu turpis. Curabitur sit amet est quis orci volutpat viverra dignissim in elit. Cras suscipit tristique quam in tincidunt. Aliquam imperdiet libero id dolor egestas viverra egestas arcu posuere. Pellentesque enim risus, accumsan quis ullamcorper ac, malesuada vitae leo.
Cras ullamcorper vestibulum eros nec suscipit. Vivamus tincidunt, metus at tristique sodales, metus massa sagittis elit, eu scelerisque tortor ante ut sapien. Curabitur rutrum fringilla purus, eget commodo neque tincidunt ut. Etiam ac leo sed nisi ultricies ultrices sed in urna. Fusce blandit fermentum ipsum, vitae dapibus eros tempus vel. Praesent ullamcorper nulla sed nisl facilisis aliquam. Mauris consequat dui quis elit pulvinar vitae pellentesque sapien tempor. Sed accumsan consequat tortor, eget hendrerit lectus rhoncus nec. Mauris diam neque, congue ut laoreet a, hendrerit sit amet sem. Donec eget diam orci, ac vehicula orci. Ut sollicitudin ultricies arcu ut faucibus. Nulla felis nisl, auctor eget adipiscing sit amet, sagittis et est. Cras elit nisi, placerat quis tincidunt at, dapibus et arcu. Donec fermentum eleifend pretium. Nullam at posuere nulla. Phasellus at urna a arcu aliquam ullamcorper eget et ligula.
Curabitur fermentum libero vitae libero mattis pulvinar. Vivamus luctus laoreet vulputate. Nunc dictum eros a nulla fringilla quis vestibulum ante malesuada. Suspendisse aliquam vulputate consequat. Duis eu sem eu justo convallis dictum sed ut arcu. Mauris porttitor nulla a augue iaculis posuere euismod mi scelerisque. Maecenas sodales nisi eu turpis fermentum dapibus. Morbi viverra iaculis magna, sed congue justo semper at. Nunc in mi enim. Ut aliquam mi et ligula molestie ac bibendum leo egestas. Nullam molestie, urna ac interdum auctor, dolor diam aliquam ligula, vitae gravida mi orci a tortor. Donec et felis turpis, id lobortis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer feugiat sagittis dictum. Donec mauris ante, feugiat sed ultricies ut, elementum a purus. Sed porta lectus et sem blandit vehicula.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc volutpat feugiat fermentum. Curabitur luctus consequat urna a tincidunt. Nullam vitae velit eu arcu congue volutpat in a diam. Pellentesque lacus ipsum, gravida et tristique sit amet, varius eu ipsum. Duis venenatis sem id nibh commodo tempor. Curabitur risus tellus, cursus quis pellentesque sed, elementum eget neque. Sed ultricies, orci et adipiscing dapibus, mauris nisi condimentum felis, ac euismod tellus nunc vel felis. Aliquam egestas accumsan turpis, a volutpat dui fermentum id. Aliquam erat volutpat. Nunc vel auctor odio. Donec eu posuere dolor. Donec vitae justo purus, nec bibendum lectus. Quisque elit tortor, tristique vel ultricies sed, euismod sed tellus. Nullam dolor purus, porta et hendrerit id, rhoncus eu lectus. Nam vel lorem at dui mattis pretium eget a nisi.
Quisque eleifend risus non metus gravida ac semper odio aliquam. Praesent sed risus in tellus congue convallis. Quisque et magna tellus, in ornare leo. Nunc tempor interdum tortor, non blandit risus rhoncus et. Aliquam pulvinar est sed massa ornare sit amet ornare ligula commodo. Nunc porta ultricies tempor. Phasellus gravida accumsan auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin quis enim tortor. Curabitur pretium diam a arcu rutrum sed sagittis velit placerat. Ut ut mauris quam, luctus iaculis sem. Nulla quis purus quis lacus cursus imperdiet a quis dolor. Nullam hendrerit eros faucibus ante dignissim vel pharetra ligula viverra. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc gravida massa quis nisl venenatis interdum. Integer non dui tortor, non volutpat nisi. In porta accumsan scelerisque. Nunc elementum urna non metus scelerisque ac condimentum eros volutpat. Donec eget nibh condimentum quam tempor vulputate non vel turpis. Quisque suscipit blandit mi quis iaculis. Ut iaculis, nisi ac tristique fringilla, nulla dui interdum lectus, a consectetur mi sapien a metus. Cras eu dolor non dolor imperdiet faucibus. Vestibulum porta risus vel neque convallis elementum. Aenean auctor, turpis eu molestie ultrices, mauris felis sodales est, at iaculis augue libero eu turpis. Curabitur sit amet est quis orci volutpat viverra dignissim in elit. Cras suscipit tristique quam in tincidunt. Aliquam imperdiet libero id dolor egestas viverra egestas arcu posuere. Pellentesque enim risus, accumsan quis ullamcorper ac, malesuada vitae leo.
Cras ullamcorper vestibulum eros nec suscipit. Vivamus tincidunt, metus at tristique sodales, metus massa sagittis elit, eu scelerisque tortor ante ut sapien. Curabitur rutrum fringilla purus, eget commodo neque tincidunt ut. Etiam ac leo sed nisi ultricies ultrices sed in urna. Fusce blandit fermentum ipsum, vitae dapibus eros tempus vel. Praesent ullamcorper nulla sed nisl facilisis aliquam. Mauris consequat dui quis elit pulvinar vitae pellentesque sapien tempor. Sed accumsan consequat tortor, eget hendrerit lectus rhoncus nec. Mauris diam neque, congue ut laoreet a, hendrerit sit amet sem. Donec eget diam orci, ac vehicula orci. Ut sollicitudin ultricies arcu ut faucibus. Nulla felis nisl, auctor eget adipiscing sit amet, sagittis et est. Cras elit nisi, placerat quis tincidunt at, dapibus et arcu. Donec fermentum eleifend pretium. Nullam at posuere nulla. Phasellus at urna a arcu aliquam ullamcorper eget et ligula.
Curabitur fermentum libero vitae libero mattis pulvinar. Vivamus luctus laoreet vulputate. Nunc dictum eros a nulla fringilla quis vestibulum ante malesuada. Suspendisse aliquam vulputate consequat. Duis eu sem eu justo convallis dictum sed ut arcu. Mauris porttitor nulla a augue iaculis posuere euismod mi scelerisque. Maecenas sodales nisi eu turpis fermentum dapibus. Morbi viverra iaculis magna, sed congue justo semper at. Nunc in mi enim. Ut aliquam mi et ligula molestie ac bibendum leo egestas. Nullam molestie, urna ac interdum auctor, dolor diam aliquam ligula, vitae gravida mi orci a tortor. Donec et felis turpis, id lobortis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer feugiat sagittis dictum. Donec mauris ante, feugiat sed ultricies ut, elementum a purus. Sed porta lectus et sem blandit vehicula.
</div>
</body>

38
tests/html/longcat.html Normal file
View file

@ -0,0 +1,38 @@
<html>
<head>
<style type="text/css">
p { margin: 0px; fonts-size: 0px }
</style>
</head>
<body>
<p><img src="longcattop.png"/></p>
<p><img src="longcatmid.png"/></p>
<p><img src="longcatbot.png"/></p>
<script>
var longcats = window.document.getElementsByTagName("img");
var longcat_top = longcats[0];
var longcat_mid = longcats[1];
var longcat_bot = longcats[2];
function wait_for_img_load(f) {
if (longcat_top.width != 0 && longcat_mid.width != 0 && longcat_bot.width != 0) {
f();
} else {
window.setTimeout(function() { wait_for_img_load(f) }, 1);
}
}
wait_for_img_load(function() {
var count = 0;
function elongate() {
var height = Math.round((Math.cos(count + Math.PI) + 1) * 100 + 20);
count += 0.2;
longcat_mid.height = height;
longcat_mid.width = 600;
window.setTimeout(function() { elongate() }, 50);
}
elongate();
});
</script>
</body>
</html>

BIN
tests/html/longcatbot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
tests/html/longcatmid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

BIN
tests/html/longcattop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,16 @@
.green {background-color : green}
.blue {background-color : blue}
.red {background-color : red}
.white {background-color : white}
.black {background-color : black}
.brown {background-color : rgb(200,100,0)}
.gray {background-color : gray}
.lightgray {background-color : rgb(200,200,200)}
.darkgray {background-color : rgb(50,50,50)}
.cyan {background-color : aqua)}
.maroon {background-color : maroon}
.pink {background-color : rgb(255,0,255)}
.orange {background-color : rgb(255,175,0)}
.violet {background-color : rgb(100,0,150)}
.darkgreen {background-color : rgb(0,100,0)}
.darkblue {background-color : navy}

19
tests/html/mojira.html Normal file
View file

@ -0,0 +1,19 @@
<html lang="ja" dir="ltr" class="client-nojs">
<head>
<title>Mozilla - Wikipedia</title>
<meta charset="UTF-8" />
<style type="text/css">
body { font-family: MS Mincho, sans-serif; }
</head>
<body>
<h1>Mozilla</h1>
<p>
出典: フリー百科事典『ウィキペディアWikipedia
</p>
<p>Mozillaモジラは旧ネットスケープコミュニケーションズ以下ネットスケープや同社が開発したインターネット関連アプリケーションソフトウェアなどいくつかの意味を持つ。現在はウェブブラウザMozilla Firefox・Mozilla Application Suiteその後SeaMonkeyを開発するMozilla Foundationを指すことが多い。様々な意味を持つMozillaの単語には以下のものがある。</p>
<div>テキストは<a href="//ja.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">クリエイティブ・コモンズ 表示-継承ライセンス</a>の下で利用可能です。追加の条件が適用される場合があります。詳細は<a href="//wikimediafoundation.org/wiki/%E5%88%A9%E7%94%A8%E8%A6%8F%E7%B4%84">利用規約</a>を参照してください。</div>
</body>
</html>

View file

@ -0,0 +1,15 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title></title>
</head>
<body>
<object data="data:application/x-unknown,ERROR">
<object data="./nonexistent" type="text/html">
<object data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAFy7sgCAAAGsUlEQVRo3u2ZbWwcZxHHf3s%2B7LNbO3ZjXBtowprGODRX0qpNQCjmJKuVKhMl1P2AkCwhFOIKkCBSm9IXavGFKAixIAECwkmWo5MrhRI3Ub40IEwQgp6aIDg3Cd6eEqyIHEteah%2B1E69vhw%2BZtTaX8704ZzkKjHS6271nZ56ZZ%2BY%2F%2F%2BdZKF%2FCwYshx3EkkggLsD1v4FQkEZZYLCbAKyG9%2Ba9EIsG6hnUAf8x74K3aUC3j4%2BM54HcsR2oAIomwZOezkv%2FnSHpYNh%2BNCmAE7xv94zvFdd1bHsjMZmQkPSxAJP%2B%2FfuBLwK54PC7JZFKAVJmzXLBt2w%2FMvcDLwIb8QS8CeJ4nkURYIomw7J%2FYJ8BvSiiXptGGxWds2%2Fa9%2Bnaxh%2BYAD%2Bgt04NDgABTpQY2cvvSFLzw86gWeBVwC8SzlOSv2YeBPfmDBoBHgKmR9LBEEmHZfDTqGykqfkUE0nA78BzQGfSgUeP3wNeTXwXg7MwZDhw4UHL6ra2ti79%2FOvljgG8AZ4H64Lhm4MvAocxsRppGG%2FxcXihlwLIs6R%2FfKV2HO%2F26uA94pdDYUKUZUU7W1RQYXA98Gnhaf5%2FXWX0HeAHYoQonqa4sZSOsSWMCWeC9Yko%2BCQwBe4E6oNc0Tc91XTl1%2BaTsn9gnI%2Blhyc5nZWxsrBIkKSbl2tiic3tW53YDEwOKaoFBrcOfqKee53lG9xsPMjV784r%2F4lO%2FpPvyJ9iyZcuvFSaXK5XYeAZ4CDgGvB3MS4B54LQuWYPeuy4iRFsevsXqpuYoqVQKIH2bK1CuDQNo11o4XUzh%2FcDWYIe1LEtyuZx4niee54njOGKapgfsqlL%2Bl2OjEXg8nxrc1dJ0h3hbtL%2BGCtz7KPBF4CuBe9uB15VafE8hr9qylI3HgG8C2%2FK7VyHZoJj7MrBRm30qFotJMpkU27YlHo%2F7Ha5a%2BV%2FKRkSJ4KuKRLVLKapTjB1SzAVIjY2NSXY%2BKyPpYdk%2FsU9OXT4pruv6BdZbBQfKsVGnvWlIe1VB6VQO8JxC1vZYLCbZ%2BaxsPhpdZDyRRFhG0sPiOE6ldKBg2lRg4xF1YCDIIIKN7DGgD3gH%2BBXwejKZfPrs2tPs%2FvPN2bKuYR1nd7xLKBSSJeqoXKnERjPwNWAG%2BLn2rZuM%2B4Tpml6vaWlp4eLcxVusZq5lCgVgOVKJjRqdX86ffL4D5wIoZACnTpw4wRMdT96i%2FImOJxERAs4uVyqxUacF%2FPdiCj%2BjdRBRGFtwXVdG0sPSdbhTmkYbpH98p2RmM2JZlig1vl0GWo4NQ%2Fn%2Bs5pKRXfwjweaxy7TND3HcRZbfC6X8xVPVQlGy7WxVWlO5XRXFXm6EZmrQuSXYyPE3SiVoEhE6Wyr0u2rumO6zv%2B21AFdQAswC1wCMuUCXCmyWQus103Qg8qlDO0lxwOb%2Fl4FiK3AB3VS%2FuKKLtK%2FgbeAnwG%2FvUODuRw%2FFrR0H1UC75fwu8oJ%2FhFsW5VIG%2FBUgEIN6Y65O4AHu4Ap0zQ9y7LEcZyb9lRBUHQcRyzL8unZVBW5bFWAvAp%2BhDQ2g4F47dUYtlU6obXA54DnVdFLekjUGGifh4AFy7LEdV3xj3X9I66m0QZpGm2QrsOd0j%2B%2BU0bSw5KZzYjrun6HWlAd961i4FfCj0aN1Usau%2Bc1lmuXPFwvAEumUut7tQQvAb%2FXb%2FT0bCAej9cODg7yt%2Bm%2F8q2%2F7OUHZ76PnZ1k2p0mJzlykmPancbOTnL0whHs7CQfb%2B5mx2d3sH79%2BtCRI0c6FeaOr9ICrIQfLvA%2B8BGNXxi4R6HrisJVUWrxAVW2oMFf0Aczim8o3kV6enowDIPjF9%2Fk%2BMU3S3rrjzMMg56eHr%2BxP7qKFbASfojG6kpeDGs1tiW53RxwWT%2Bin5q8w4xpQK5evQpAR30H7ZH2khNvj7TTUd8BgD4rqmu1ZKX8qNeY%2BfHz4zlXDgT5E8tpCTUq7XSBC4Euv8227TV9fX1E73%2BYtvo27BmbS9cvFVTY3bSRFza9yOcf6Gfmygy7d%2B%2Fm%2FPnzF4DvrsBLhnJlJfwIKXxv1PheAE4qK6p4H9AGbNKTuhngBPBPXYRe4IemaT5kWZbR19fHNbmGnZ1k4r3U4glDR30Hm5qjbGjsImJEOHbsGHv27JFz5869o0eFq01Jq%2BmHAXwI6FFKagMTgHM7GzFDS%2BoeLSMv7zjzC9x4Y7gxFovVDAwMEI1GaWlpWSzRVCrFwYMH%2FXfxZ4AfAa8B%2F7lDaGg1%2FQgp43lfK0yqtRMuJa3ceKe5DfgYsCYAZ2ngD8CfAkzqTpW7xY%2F%2FSznyX%2FVeUb2kVmX4AAAAAElFTkSuQmCC">
ERROR
</object>
</object>
</object>
</body>
</html>

File diff suppressed because it is too large Load diff

17302
tests/html/perf-rainbow.html Normal file

File diff suppressed because it is too large Load diff

BIN
tests/html/rust-0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
tests/html/rust-135.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
tests/html/rust-180.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
tests/html/rust-225.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
tests/html/rust-270.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
tests/html/rust-315.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
tests/html/rust-45.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
tests/html/rust-90.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,9 @@
<head>
<link rel="stylesheet" href="lots_of_background_colors.css" />
</head>
<body>
<div class="gray">
<img class="green"></img>
<div class="blue"><img class="red"></img></div>
</div>
</body>

View file

@ -0,0 +1 @@
img {background-color : red }

View file

@ -0,0 +1,6 @@
<head>
<link rel="stylesheet" href="small_color_test.css" />
</head>
<body>
<img></img>
</body>

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-size: 75px;
text-align: center;
padding: 50px 10px;
}
</style>
</head>
<body>
<a href="about:crash">here be dragons</a>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<style>
html {
background-color: #ccc;
font-size: 50px;
}
div.frame {
text-align: center;
float: left;
width: 310px;
height: 400px;
}
iframe {
width: 300px;
height: 300px;
border: solid 1px black;
display: block;
background-color: white;
}
</style>
</head>
<body>
<div class="frame">
<iframe id="frameone" sandbox="allow-scripts" src="summit-two.html">
</iframe>
frame one
</div>
<div class="frame">
<iframe id="frametwo" sandbox="allow-scripts" src="summit-crash.html">
</iframe>
frame two
</div>
</body>
</html>

View file

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
margin: 0;
}
p {
margin: 0;
padding: 0;
font-size: 0px
}
</style>
</head>
<body>
<p><img src="longcattop.png"/></p>
<p><img src="longcatmid.png"/></p>
<p><img src="longcatbot.png"/></p>
<script>
var longcats = window.document.getElementsByTagName("img");
var longcat_top = longcats[0];
var longcat_mid = longcats[1];
var longcat_bot = longcats[2];
function wait_for_img_load(f) {
if (longcat_top.width != 0 && longcat_mid.width != 0 && longcat_bot.width != 0) {
f();
} else {
window.setTimeout(function() { wait_for_img_load(f) }, 1);
}
}
wait_for_img_load(function() {
var count = 0;
function elongate() {
var height = Math.round((Math.cos(count + Math.PI) + 1) * 45 + 20);
count += 0.2;
longcat_mid.height = height;
longcat_mid.width = 600;
window.setTimeout(function() { elongate() }, 50);
}
elongate();
});
</script>
</body>
</html>

View file

@ -0,0 +1,77 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-size: 30px;
}
</style>
</head>
<body>
<div></div>
<script>
function Matrix(ary) {
this.mtx = ary
this.height = ary.length;
this.width = ary[0].length;
}
Matrix.prototype.toString = function() {
var s = []
for (var i = 0; i < this.mtx.length; i++)
s.push( this.mtx[i].join(",") );
return s.join("\n");
}
Matrix.prototype.mult = function(other) {
if (this.width != other.height) {
throw "error: incompatible sizes";
}
var result = [];
for (var i = 0; i < this.height; i++) {
result[i] = [];
for (var j = 0; j < other.width; j++) {
var sum = 0;
for (var k = 0; k < this.width; k++) {
sum += this.mtx[i][k] * other.mtx[k][j];
}
result[i][j] = sum;
}
}
return new Matrix(result);
}
function run() {
var elems = [];
for (var i = 0; i < 900; i++) {
elems.push(i);
}
var outer = [];
for (var i = 0; i < 900; i++) {
outer.push(elems);
}
var a = new Matrix(outer);
var b = new Matrix(outer);
var result = a.mult(b);
}
function say(msg) {
var div = document.getElementsByTagName('div')[0];
var text = document.createTextNode(msg);
var p = document.createElement("p");
p.appendChild(text);
div.appendChild(p);
}
//say("multiplying 900x900 matrix");
setTimeout(function forever() {
var now = new Date();
run();
say("mult 900x900 in " + (new Date() - now));
setTimeout(forever, 5000);
}, 1000);
</script>
</body>
</html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<style>
body {
margin: 0;
padding: 30px 47px;
}
img {
width: 206px;
height: 206px;
}
</style>
</head>
<body>
<p><img></p>
<script>
var index = 0;
function change() {
document.getElementsByTagName("img")[0].src = "rust-" + (index * 45) + ".png";
index = (index + 1) % 8;
setTimeout(change, 100);
}
change();
</script>
</body>
</html>

37
tests/html/summit2.html Normal file
View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<style>
html {
background-color: #ccc;
font-size: 50px;
}
div.frame {
text-align: center;
float: left;
width: 310px;
height: 400px;
}
iframe {
width: 300px;
height: 300px;
border: solid 1px black;
display: block;
background-color: white;
}
</style>
</head>
<body>
<div></div>
<div class="frame">
<iframe id="frameone" sandbox="allow-scripts" src="summit-two.html">
</iframe>
frame one
</div>
<div class="frame">
<iframe id="frametwo" sandbox="allow-scripts" src="summit-three.html">
</iframe>
frame two
</div>
</body>
</html>

63
tests/html/summit3.html Normal file
View file

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<style>
html {
background-color: #ccc;
font-size: 50px;
}
.frame {
text-align: center;
}
.left {
float: left;
}
.narrow {
width: 300px;
}
.wide {
width: 600px;
}
.short {
height: 360px;
}
.tall {
height: 800px;
}
iframe {
width: 300px;
border: solid 1px black;
display: block;
background-color: white;
}
.wide iframe {
width: 600px;
}
.tall iframe {
height: 660px;
}
.short iframe {
height: 300px;
}
</style>
</head>
<body>
<div class="frame tall left wide">
<iframe id="frameone" sandbox="allow-scripts" src="summit-one.html">
</iframe>
frame one
</div>
<div class="left">
<div class="frame short narrow">
<iframe id="frametwo" sandbox="allow-scripts" src="summit-two.html">
</iframe>
frame two
</div>
<div class="frame short narrow">
<iframe id="framethree" sandbox="allow-scripts" src="summit-three.html">
</iframe>
frame three
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,7 @@
img {
position: absolute;
top: 200px;
left: 100px;
border-width: 10px;
border-color: blue
}

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="test-absolute.css" />
</head>
<body>
<img src="test.jpeg"></img>
</body>
</html>

View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<link rel="author" title="Daniel Glazman" href="mailto:d.glazman@partner.samsung.com" />
<title>:root test</title>
<style type="text/css">
html:root { background: green; }
html { background: red; }
p:root { background: red; }
</style>
</head>
<body>
The background of the page should be green and you should see not red at all.
<p>And the background of this sentence should be green too.</p>
</body>
</html>

View file

@ -0,0 +1,6 @@
<div>
<img></img>
<div>
<img></img><img></img><img></img>
</div>
</div>

View file

@ -0,0 +1,8 @@
<script>
function output (text)
{
window.alert(text);
}
output("Opossums have pouches like kangaroos");
</script>

View file

@ -0,0 +1,7 @@
<script>
console.log('many webdevs');
console.info('put informative');
console.warn('or worrysome', 'or many');
console.error('or even errors');
console.debug('into the debug statements into their JS');
</script>

View file

@ -0,0 +1,20 @@
<img src="test.jpeg" width="50" height="378"/>
<script>
function setWidth(w, i) {
elem.width = w;
window.alert(elem.width);
w += i;
if (w == 0 || w == 1000)
i *= -1;
window.setTimeout(function() { setWidth(w, i); }, 50);
}
var elem = window.document.documentElement.firstChild.firstChild.nextSibling.firstChild;
window.alert(elem.tagName);
window.alert(elem instanceof HTMLImageElement);
window.alert(elem instanceof HTMLElement);
window.alert(elem instanceof Element);
window.alert(elem.width);
setWidth(1000, -10);
</script>

25
tests/html/test-js.html Normal file
View file

@ -0,0 +1,25 @@
<div>
<img></img>
<div>
<img></img><img></img><img></img>
</div>
</div>
<script>
debug("hi");
var elem = document.documentElement;
debug("document.documentElement: " + elem);
debug("Document: " + Document);
debug("Node: " + Node);
debug("Document instanceof Node: " + (Document instanceof Node));
debug("elem instanceof Node: " + (elem instanceof Node));
debug("elem instanceof Document: " + (elem instanceof Document));
debug("document instanceof Document: " + (document instanceof Document));
debug("document instanceof Node: " + (document instanceof Node));
debug("elem.tagName: " + elem.tagName);
debug("elem.firstChild: " + elem.firstChild);
debug("elem.firstChild.tagName: " + elem.firstChild.tagName);
debug("elem.firstChild.nextSibling: " + elem.firstChild.nextSibling);
debug("elem.firstChild.nextSibling.tagName: " + elem.firstChild.nextSibling.tagName);
debug("elem.nextSibling: " + elem.nextSibling);
debug("elem.nextSibling.tagName: " + elem.nextSibling.tagName);
</script>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div style="line-height: 10;">[line-height 10]
<span style="font-size: 15pt; line-height: 3; vertical-align: top">[line-height:3 + vertical-align:top]</span>
<span style="font-size: 15pt; line-height: 1; vertical-align: top">[line-height:1 + vertical-align:top]</span>
[Split inline, still line-height 5]
</div>
<div style="font-size: 30px; line-height: 3">New line, line-height 3</div>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<img src="test.jpeg?00" width="64" height="64"/>
<img src="test.jpeg?01" width="64" height="64"/>
<img src="test.jpeg?02" width="64" height="64"/>
<img src="test.jpeg?03" width="64" height="64"/>
<img src="test.jpeg?04" width="64" height="64"/>
<img src="test.jpeg?05" width="64" height="64"/>
<img src="test.jpeg?06" width="64" height="64"/>
<img src="test.jpeg?07" width="64" height="64"/>
<img src="test.jpeg?08" width="64" height="64"/>
<img src="test.jpeg?09" width="64" height="64"/>
</body>
</html>

View file

@ -0,0 +1,340 @@
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"></img>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
<img src="test.jpeg" width="64" height="64"/>
</body>
</html>

View file

@ -0,0 +1,52 @@
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam at
ipsum orci. Ut mauris erat, pretium eu interdum a, feugiat ut
leo. Proin eu purus lorem, scelerisque pretium turpis. Donec tempus
mollis tortor, sed feugiat felis tincidunt ut. Donec elit sem,
condimentum ac pellentesque id, facilisis non erat. Nam neque urna,
interdum non tempor nec, cursus at erat. Pellentesque id diam leo.
Nullam sit amet pellentesque urna. Sed non vehicula felis. Suspendisse
vitae mattis dolor. Nam euismod, quam ac dapibus dapibus, tellus erat
vulputate purus, at tempus sem sapien quis risus. Aenean tempor
feugiat urna quis viverra. Duis eleifend tortor semper metus fringilla
non rhoncus eros suscipit. Nullam turpis nibh, condimentum sed tempor
sit amet, tristique nec nisi. In cursus sagittis pulvinar. Vestibulum
ut felis at augue sagittis tristique. Aliquam est urna, auctor quis
faucibus ac, lobortis quis felis. Integer orci diam, rutrum eleifend
congue at, viverra id urna. Nam tempor posuere commodo.
Integer sit amet pretium erat. Nullam mollis egestas orci, at mattis
risus facilisis ut. Cum sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Praesent ligula nisi,
consequat a faucibus ac, pharetra vel enim. Fusce non sem ut nulla
bibendum malesuada suscipit nec felis. Nulla vel quam et risus egestas
facilisis a malesuada ante. Phasellus id convallis nisl. Aenean
posuere elit non metus tempus id ullamcorper orci dignissim.
Ut tincidunt magna massa, eget sollicitudin nulla. Aliquam venenatis
porttitor tellus, at suscipit mauris dignissim eget. Duis odio mi,
scelerisque eu ornare sed, malesuada ac leo. Aliquam erat
volutpat. Nulla dignissim tristique dolor rutrum viverra. Nam ipsum
quam, bibendum sed sodales laoreet, congue at elit. Aenean nec
ultricies dui. Vivamus arcu lacus, lacinia sit amet congue et,
interdum sed metus. Nam posuere lacus id sapien varius ut imperdiet
purus molestie. Aliquam erat volutpat. Donec et volutpat
turpis. Quisque elementum massa sit amet lorem malesuada id placerat
ipsum gravida. Quisque suscipit arcu vitae risus commodo at laoreet
enim aliquam. Nam euismod dictum ipsum, condimentum commodo augue
bibendum ac. Cras ut urna eu ipsum ornare pretium. Lorem ipsum dolor
sit amet, consectetur adipiscing elit.
Donec elit quam, dignissim ut pulvinar et, auctor tincidunt
lacus. Aenean non ipsum ornare orci gravida mollis. Vivamus suscipit,
dui sed dapibus fermentum, tellus enim elementum nulla, non gravida
augue urna volutpat quam. Nullam metus quam, vehicula sit amet ornare
eget, auctor a purus. Curabitur lacus eros, suscipit non lobortis non,
tincidunt a risus. Duis laoreet, dolor a aliquam laoreet, lorem turpis
varius eros, nec sodales est felis id metus. Nullam sit amet tincidunt
justo. Nam sit amet arcu bibendum augue sagittis tincidunt non
dignissim lorem. Maecenas quis justo lacus. Nam fringilla ullamcorper
tellus at sollicitudin.
</div>

View file

@ -0,0 +1,2 @@
<div><img></img>Hello world!<img></img></div>

13
tests/html/test.css Normal file
View file

@ -0,0 +1,13 @@
p {font-size : 12pt}
p img {color : rgb(0,255,0); display : block }
p.blue > p.green + p.red { background-color : blue ;color : green }
img[class] .pastoral *[lang|=en] { display:inline}
.book > #novel + *[type=novella] p { color : blue; color : white }
* {background-color : red}
* * {background-color : lime}
* * * {background-color : yellow}
* * * * {background-color : white}
* * * * * {background-color : rgb(200,0,200)}
div div {background-color : green}
* * div {background-color : blue}
div div div {background-color : rgb(100,100,100)}

7
tests/html/test.html Normal file
View file

@ -0,0 +1,7 @@
<div>
<img></img>
<div>
<img></img>
<div><img></img></div>
</div>
</div>

1
tests/html/test.js Normal file
View file

@ -0,0 +1 @@
debug("Hello, world!");

View file

@ -0,0 +1,23 @@
<html>
<head>
<title></title>
<script src="../content/harness.js"></script>
</head>
<body>
<script>
window.addEventListener("resize", function (aEvent) {
// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#event-type-resize
is_a(aEvent, UIEvent, "event should be UIEvent.");
is(aEvent.bubbles, false, "Bubbles should be No.");
is(aEvent.cancelable, false, "Cancelable should be No.");
is(aEvent.target, window, "Target should be defaultView.");
is_a(aEvent.target, Window, "UIEvent.target should be instance of Window.");
//is(aEvent.view, document.defaultView, "UIEvent.view should be defaultView.");
is_a(aEvent.view, Window, "UIEvent.view should be instance of Window.");
is(aEvent.detail, 0, "UIEvent.detail should be 0.");
}, false);
</script>
</body>
</html>

View file

@ -0,0 +1,23 @@
<head>
<link rel="stylesheet" href="lots_of_background_colors.css" />
</head>
<body>
<div class="darkgray">
<div class="darkblue">
<img class="maroon"></img>
<div class="darkgreen">
<img class="gray"></img>
</div>
</div>
<img class="black"></img>
<img class="brown"></img>
<div class="pink">
<img class="orange"></img>
<img class="violet"></img>
</div>
<div class="lightgray">
<img class="blue"></img>
<img class="red"></img>
</div>
</div>
</body>

View file

@ -0,0 +1,3 @@
div {
background-color: blue;
}

View file

@ -0,0 +1,8 @@
<head>
<link rel="stylesheet" href="test_bg_color_simple.css" />
</head>
<body>
<div>
Test
</div>
</body>

86
tests/html/test_border.html Executable file
View file

@ -0,0 +1,86 @@
<html>
<head>
<style>
#none{
border-style: none;
border-width: 10px;
border-color: green red yellow black;
}
#hidden{
border-style: hidden;
border-width: 10px;
border-color: green red yellow black;
}
#solid{
border-style: solid;
border-width: 10px;
border-color: yellow green red black;
}
#double{
border-style: double;
border-width: 10px;
border-color: yellow green red black;
}
#dashed{
border-style: dashed;
border-width: 10px;
border-color: green yellow black red;
}
#dotted{
border-style: dotted;
border-width: 10px;
border-color: green red yellow black;
}
#groove{
border-style: groove;
border-width: 10px;
border-color: green red yellow black;
}
#ridge{
border-style: ridge;
border-width: 10px;
border-color: green red yellow black;
}
#inset{
border-style: inset;
border-width: 10px;
border-color: green red yellow black;
}
#outset{
border-style: outset;
border-width: 10px;
border-color: green red yellow black;
}
#diamond1{
width: 0;
height: 0;
border: 50px solid transparent;
border-bottom-color: red;
position: relative;
}
#diamond2{
width: 0;
height: 0;
border: 50px solid transparent;
border-top-color: red;
position: relative;
}
</style>
</head>
<body>
<div id="none"> none test.</div>
<div id="hidden"> hidden test.</div>
<div id="solid"> solid test</div>
<div id="double"> double test</div>
<div id="dashed"> dashed test</div>
<div id="dotted"> dotted test</div>
<div id="groove"> groove test</div>
<div id="ridge"> ridge test</div>
<div id="inset"> inset test</div>
<div id="outset"> outset test</div>
<!-- It's a Diamond -->
<div id="diamond1"></div>
<div id="diamond2"></div>
</body>
</HTML>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<body>
<canvas id="tutorial" style="border:1px solid #d3d3d3"></canvas>
<script type="text/javascript">
canvas = document.getElementById('tutorial');
canvas.width = 200;
canvas.height = 200;
var ctx = canvas.getContext('2d');
ctx.fillRect(10.0,10.0,100.0,100.0);
ctx.strokeRect(20.0,40.0,80.0,80.0);
ctx.clearRect(10.0,10.0,100.0,100.0);
</script>
</body>
</html>

View file

@ -0,0 +1,17 @@
<html>
<head>
<style type="text/css">
.c1 { color: red; }
.c2 { background: blue; }
#i1 { color: green; }
</style>
</head>
<body>
<div>
<div id='i1'>Hello</div>
<div class='c1'>World</div>
<div class='c2'>Hello</div>
<div class='c1 c2'>World</div>
</div>
</body>
</html>

View file

@ -0,0 +1,48 @@
<html>
<head>
<style>
#container {
width: 300px;
}
#left {
float: left;
width: 100px;
height: 100px;
background: red;
}
#right {
float: right;
width: 100px;
height: 200px;
background: blue;
}
#clear1 {
clear: none;
width: 200px;
height: 50px;
background: green;
}
#clear2 {
clear: left;
width: 200px;
height: 50px;
background: green;
}
#clear3 {
clear: right;
width: 200px;
height: 50px;
background: green;
}
</style>
</head>
<body>
<div id="container">
<div id="left"></div>
<div id="right"></div>
<div id="clear1"></div>
<div id="clear2"></div>
<div id="clear3"></div>
</div>
</body>
</html>

View file

@ -0,0 +1,43 @@
<html>
<head>
<style>
#container {
width: 300px;
}
#left {
float: left;
width: 100px;
height: 100px;
background: red;
}
#right {
float: right;
width: 100px;
height: 150px;
background: blue;
}
#clear1 {
float: left;
clear: left;
width: 50px;
height: 50px;
background: green;
}
#clear2 {
float: right;
clear: right;
width: 50px;
height: 50px;
background: green;
}
</style>
</head>
<body>
<div id="container">
<div id="left"></div>
<div id="right"></div>
<div id="clear1"></div>
<div id="clear2"></div>
</div>
</body>
</html>

View file

@ -0,0 +1,5 @@
<html>
<script>
window.setTimeout(function() { window.close(); }, 3000);
</script>
</html>

View file

@ -0,0 +1,57 @@
<html>
<head>
<style type="text/css">
html {
background: white;
color: black;
}
#test_em {
border:1em solid;
border-color:green;
background-color:red;
}
#test_pt {
border:1pt solid;
border-color:green;
background-color:red;
}
#test_px {
border:1px solid;
border-color:pink;
background-color:green;
}
#test_mm {
border:1mm solid;
border-color:red;
background-color:gray;
}
#test_pc {
border:1pc solid;
border-color:yellow;
background-color:gray;
}
#test_cm {
border:1cm solid;
border-color:pink;
background-color:gray;
}
#test_in {
border:1in solid;
border-color:red;
background-color:gray;
}
</style>
</head>
<body>
<div id="test_em"> Hello, 1em </div>
<div id="test_pt"> Hello, 1pt </div>
<div id="test_px"> Hello, 1px </div>
<div id="test_mm"> Hello, 1mm </div>
<div id="test_pc"> Hello, 1pc </div>
<div id="test_cm"> Hello, 1cm </div>
<div id="test_in"> Hello, 1in </div>
</body>
</html>

View file

@ -0,0 +1,62 @@
<html>
<head>
<style type = "text/css">
#float {
float: left;
width: 300px;
height: 500px;
background: blue;
}
#float1 {
float: left;
width: 500px;
height: 75px;
background: red;
}
#float3 {
float: left;
width: 200px;
height: 100px;
background: red;
}
#float2 {
float: right;
width: 100px;
height: 50px;
background: green;
}
#float4 {
float: right;
width: 100px;
height: 250px;
background: green;
}
#float5 {
float: left;
width: 300px;
height: 100px;
background: yellow;
}
#outer {
padding: 100px;
height: 250px;
background: gray;
}
#firstouter {
height: 100px;
}
</style>
</head>
<body>
<div id = "firstouter">
<div id = "float"></div>
</div>
<div id = "outer">
<div id = "float1"></div>
<div id = "float2"></div>
<div id = "float3"></div>
<div id = "float4"></div>
</div>
<div id = "float5"></div>
</body>
</html>

View file

@ -0,0 +1,17 @@
<div></div>
<script>
var elem = document.documentElement.firstChild;
var start = new Date()
var count = 1000000;
for (var i = 0; i < count; i++) {
var a = elem.nodeType;
}
var stop = new Date()
window.alert((stop - start) / count * 1e6);
/*start = new Date().getTime();
for (i = 0; i < 10000; i++)
elem.width = i;
window.alert(new Date().getTime() - start);*/
</script>

View file

@ -0,0 +1,3 @@
#styled {
color: red;
}

View file

@ -0,0 +1,22 @@
<html>
<head>
<link rel="stylesheet" href="test_hammer_layout.css">
<script>
var divs = window.document.getElementsByTagName("div");
var div = divs[0];
var count = 1000000;
var start = new Date();
for (var i = 0; i < count; i++) {
div.setAttribute('id', 'styled');
//div.getBoundingClientRect();
}
var stop = new Date();
window.alert((stop - start) / count * 1e6);
window.close();
</script>
</head>
<body>
<div id="">This text is unstyled.</div>
</body>
</html>

View file

@ -0,0 +1,16 @@
<html>
<head>
<title>hi there?</title>
</head>
<body>
<p style="background:gray">
<span style="background:red;font-size:35px;border: black solid 15px">
<img src="test.jpeg" style="border:blue 30px solid;" />
kitty?
<em style="background:blue;font-size:15px;border:yellow 15px solid">
this is em
</em>
</span>
</p>
</body>
</html>

View file

@ -0,0 +1,11 @@
<head>
<link rel="stylesheet" href="lots_of_background_colors.css" />
</head>
<body>
<div class="darkgray">
<div class="blue">
<img class="red"></img>
</div>
<img class="green"></img>
</div>
</body>

View file

@ -0,0 +1,19 @@
<html>
<head>
</head>
<body>
<script>
var x = 0;
alert("Interval begin");
var intervalID = setInterval(function() {
if (x < 10) {
alert("interval " + x);
x += 1;
} else {
clearInterval(intervalID);
alert("Interval deleted");
}
}, 300);
</script>
</body>
</html>

View file

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html>
<head>
<title>The Book of Mozilla, 11:9</title>
<style type="text/css">
html {
background: maroon;
color: white;
font-style: italic;
}
#moztext {
margin-top: 15%;
font-size: 1.1em;
font-family: serif;
text-align: center;
line-height: 1.5;
}
#from {
font-size: 1.95em;
font-family: serif;
text-align: right;
}
em {
font-size: 1.3em;
line-height: 0;
font-style: oblique;
}
a {
text-decoration: none;
color: white;
}
</style>
</head>
<body>
<p id="moztext">
Mammon slept. And the <em>beast reborn</em> spread over the earth and its numbers
grew legion. And they proclaimed the times and <em>sacrificed</em> crops unto the
fire, with the <em>cunning of foxes</em>. And they built a new world in their own
image as promised by the <em><a href="http://www.mozilla.org/about/mozilla-manifesto.html">
sacred words</a></em>, and <em><a href="http://wiki.mozilla.org/About:mozilla">spoke
</a></em> of the beast with their children. Mammon awoke, and lo! it was
<em>naught</em> but a follower.
</p>
<p id="from">
from <strong>The Book of Mozilla,</strong> 11:9<br/><small>(10th Edition)</small>
</p>
</body>
</html>

View file

@ -0,0 +1 @@
img {background-color : green}

View file

@ -0,0 +1,39 @@
<html>
<head>
<style type="text/css">
body { font-size:40px; }
</style>
</head>
<body>
<div>
<div id="text1"> 1st text </div>
<div id="text2"> 2nd text </div>
<div id="text3"> 3rd text </div>
</div>
<div>
<span>This</span> <span> is</span> <span>span</span>
<span>This </span> <span>is</span> <span>span</span>
</div>
<a name="top"> [name is "top"] </a>
<h3 id="h3">
[id is "h3"] <hr/>
<span> text </span>
<span style="font-family:Times New Roman"> Times New Roman </span>
<span style="font-family:Verdana"> Verdana </span>
<span style="font-family:Arail"> Arial </span>
<span style="font-family:Courier New"> Courier New </span>
<span style="font-family:Georgia"> Georgia</span>
<span style="font-family:Lucida Console"> Lucida Console </span>
<div id ="num"> [id is "num"] </div>
<span> 1 </span>
<span> 2 </span>
<div> 3 </div>
<span> 4 </span>
<span> 5 </span>
</h3>
<h4>
--- Bottom ---
</h4>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more