mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 19:52:45 +00:00 
			
		
		
		
	Tests/LibWeb: Add ACID1 as a layout test
This will help us catch any future regressions immediately.
This commit is contained in:
		
							parent
							
								
									664f30a2c9
								
							
						
					
					
						commit
						71b7e65a52
					
				
					 2 changed files with 302 additions and 0 deletions
				
			
		
							
								
								
									
										137
									
								
								Tests/LibWeb/Layout/expected/acid1.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								Tests/LibWeb/Layout/expected/acid1.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,137 @@ | |||
| Viewport <#document> at (0,0) content-size 800x600 children: not-inline | ||||
|   BlockContainer <html> at (0,0) content-size 800x420 children: not-inline | ||||
|     BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline | ||||
|       TextNode <#text> | ||||
|     BlockContainer <body> at (20,20) content-size 480x380 children: not-inline | ||||
|       BlockContainer <(anonymous)> at (20,20) content-size 480x0 children: inline | ||||
|         TextNode <#text> | ||||
|       BlockContainer <dl> at (25,25) content-size 470x0 children: inline | ||||
|         TextNode <#text> | ||||
|         BlockContainer <dt> at (40,40) content-size 49.998596x280 floating children: inline | ||||
|           line 0 width: 28.310546, height: 10, bottom: 10, baseline: 7.998046 | ||||
|             frag 0 from TextNode start: 0, length: 6, rect: [40,40 28.310546x10] | ||||
|               "toggle" | ||||
|           TextNode <#text> | ||||
|         TextNode <#text> | ||||
|         BlockContainer <dd> at (135,45) content-size 340x270 floating children: not-inline | ||||
|           BlockContainer <(anonymous)> at (135,45) content-size 340x0 children: inline | ||||
|             TextNode <#text> | ||||
|           BlockContainer <ul> at (135,45) content-size 340x0 children: inline | ||||
|             TextNode <#text> | ||||
|             BlockContainer <li> at (150,60) content-size 50x90 floating children: inline | ||||
|               line 0 width: 37.880859, height: 10, bottom: 10, baseline: 7.998046 | ||||
|                 frag 0 from TextNode start: 0, length: 7, rect: [150,60 37.880859x10] | ||||
|                   "the way" | ||||
|               TextNode <#text> | ||||
|             TextNode <#text> | ||||
|             BlockContainer <li#bar> at (235,55) content-size 139.977996x90 floating children: not-inline | ||||
|               BlockContainer <(anonymous)> at (235,55) content-size 139.977996x0 children: inline | ||||
|                 TextNode <#text> | ||||
|               BlockContainer <p> at (235,55) content-size 139.977996x10 children: inline | ||||
|                 line 0 width: 74.316406, height: 10, bottom: 10, baseline: 7.998046 | ||||
|                   frag 0 from TextNode start: 0, length: 14, rect: [235,55 74.316406x10] | ||||
|                     "the world ends" | ||||
|                 TextNode <#text> | ||||
|               BlockContainer <(anonymous)> at (235,65) content-size 139.977996x0 children: inline | ||||
|                 TextNode <#text> | ||||
|                 InlineNode <form> | ||||
|                   TextNode <#text> | ||||
|                   TextNode <#text> | ||||
|                   TextNode <#text> | ||||
|               BlockContainer <p> at (235,65) content-size 139.977996x19 children: inline | ||||
|                 line 0 width: 39.490234, height: 19, bottom: 19, baseline: 12.498046 | ||||
|                   frag 0 from TextNode start: 1, length: 5, rect: [235,65 27.490234x19] | ||||
|                     "bang " | ||||
|                   frag 1 from RadioButton start: 0, length: 0, rect: [262,65 12x12] | ||||
|                 TextNode <#text> | ||||
|                 RadioButton <input> at (262,65) content-size 12x12 inline-block children: not-inline | ||||
|                 TextNode <#text> | ||||
|               BlockContainer <p> at (235,84) content-size 139.977996x19 children: inline | ||||
|                 line 0 width: 57.15625, height: 19, bottom: 19, baseline: 12.498046 | ||||
|                   frag 0 from TextNode start: 1, length: 8, rect: [235,84 45.15625x19] | ||||
|                     "whimper " | ||||
|                   frag 1 from RadioButton start: 0, length: 0, rect: [280,84 12x12] | ||||
|                 TextNode <#text> | ||||
|                 RadioButton <input> at (280,84) content-size 12x12 inline-block children: not-inline | ||||
|                 TextNode <#text> | ||||
|               BlockContainer <(anonymous)> at (235,103) content-size 139.977996x0 children: inline | ||||
|                 TextNode <#text> | ||||
|             TextNode <#text> | ||||
|             BlockContainer <li> at (409.977996,60) content-size 50x90 floating children: inline | ||||
|               line 0 width: 31.582031, height: 10, bottom: 10, baseline: 7.998046 | ||||
|                 frag 0 from TextNode start: 0, length: 6, rect: [409.977996,60 31.582031x10] | ||||
|                   "i grow" | ||||
|               line 1 width: 14.033203, height: 10, bottom: 20, baseline: 7.998046 | ||||
|                 frag 0 from TextNode start: 7, length: 3, rect: [409.977996,70 14.033203x10] | ||||
|                   "old" | ||||
|               TextNode <#text> | ||||
|             TextNode <#text> | ||||
|             BlockContainer <li#baz> at (145,185) content-size 100x100 floating children: inline | ||||
|               line 0 width: 29.423828, height: 10, bottom: 10, baseline: 7.998046 | ||||
|                 frag 0 from TextNode start: 0, length: 6, rect: [145,185 29.423828x10] | ||||
|                   "pluot?" | ||||
|               TextNode <#text> | ||||
|             TextNode <#text> | ||||
|           BlockContainer <(anonymous)> at (135,45) content-size 340x0 children: inline | ||||
|             TextNode <#text> | ||||
|           BlockContainer <blockquote> at (280,195) content-size 50x90 floating children: not-inline | ||||
|             BlockContainer <(anonymous)> at (280,195) content-size 50x0 children: inline | ||||
|               TextNode <#text> | ||||
|             BlockContainer <address> at (280,195) content-size 50x20 children: inline | ||||
|               line 0 width: 17.275390, height: 10, bottom: 10, baseline: 7.998046 | ||||
|                 frag 0 from TextNode start: 0, length: 3, rect: [280,195 17.275390x10] | ||||
|                   "bar" | ||||
|               line 1 width: 30.224609, height: 10, bottom: 20, baseline: 7.998046 | ||||
|                 frag 0 from TextNode start: 4, length: 6, rect: [280,205 30.224609x10] | ||||
|                   "maids," | ||||
|               TextNode <#text> | ||||
|             BlockContainer <(anonymous)> at (280,215) content-size 50x0 children: inline | ||||
|               TextNode <#text> | ||||
|           BlockContainer <(anonymous)> at (135,45) content-size 340x0 children: inline | ||||
|             TextNode <#text> | ||||
|           BlockContainer <h1> at (365,185) content-size 100x100 floating children: inline | ||||
|             line 0 width: 56.416015, height: 10, bottom: 10, baseline: 7.998046 | ||||
|               frag 0 from TextNode start: 0, length: 11, rect: [365,185 56.416015x10] | ||||
|                 "sing to me," | ||||
|             line 1 width: 65.449218, height: 10, bottom: 20, baseline: 7.998046 | ||||
|               frag 0 from TextNode start: 12, length: 12, rect: [365,195 65.449218x10] | ||||
|                 "erbarme dich" | ||||
|             TextNode <#text> | ||||
|           BlockContainer <(anonymous)> at (135,45) content-size 340x0 children: inline | ||||
|             TextNode <#text> | ||||
|         TextNode <#text> | ||||
|       BlockContainer <(anonymous)> at (20,30) content-size 480x0 children: inline | ||||
|         TextNode <#text> | ||||
|       BlockContainer <p> at (20,335) content-size 480x65 children: inline | ||||
|         line 0 width: 473.642578, height: 13, bottom: 13, baseline: 9.498046 | ||||
|           frag 0 from TextNode start: 1, length: 90, rect: [20,335 473.642578x13] | ||||
|             "This is a nonsensical document, but syntactically valid HTML 4.0. All 100%-conformant CSS1" | ||||
|         line 1 width: 396.953125, height: 13, bottom: 26, baseline: 9.498046 | ||||
|           frag 0 from TextNode start: 92, length: 74, rect: [20,348 396.953125x13] | ||||
|             "agents should be able to render the document elements above this paragraph" | ||||
|         line 2 width: 470.585937, height: 13, bottom: 39, baseline: 9.498046 | ||||
|           frag 0 from TextNode start: 167, length: 43, rect: [20,361 207.900390x13] | ||||
|             "indistinguishably (to the pixel) from this " | ||||
|           frag 1 from TextNode start: 0, length: 20, rect: [228,361 103.007812x13] | ||||
|             "reference rendering," | ||||
|           frag 2 from TextNode start: 0, length: 31, rect: [331,361 159.677734x13] | ||||
|             " (except font rasterization and" | ||||
|         line 3 width: 465.019531, height: 13, bottom: 52, baseline: 9.498046 | ||||
|           frag 0 from TextNode start: 32, length: 89, rect: [20,374 465.019531x13] | ||||
|             "form widgets). All discrepancies should be traceable to CSS1 implementation shortcomings." | ||||
|         line 4 width: 408.164062, height: 13, bottom: 65, baseline: 9.498046 | ||||
|           frag 0 from TextNode start: 122, length: 67, rect: [20,387 345.556640x13] | ||||
|             "Once you have finished evaluating this test, you can return to the " | ||||
|           frag 1 from TextNode start: 0, length: 11, rect: [366,387 59.892578x13] | ||||
|             "parent page" | ||||
|           frag 2 from TextNode start: 0, length: 1, rect: [425,387 2.714843x13] | ||||
|             "." | ||||
|         TextNode <#text> | ||||
|         InlineNode <a> | ||||
|           TextNode <#text> | ||||
|         TextNode <#text> | ||||
|         InlineNode <a> | ||||
|           TextNode <#text> | ||||
|         TextNode <#text> | ||||
|       BlockContainer <(anonymous)> at (20,400) content-size 480x0 children: inline | ||||
|         TextNode <#text> | ||||
							
								
								
									
										165
									
								
								Tests/LibWeb/Layout/input/acid1.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										165
									
								
								Tests/LibWeb/Layout/input/acid1.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,165 @@ | |||
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> | ||||
| <html> | ||||
|     <head> | ||||
|         <title>display/box/float/clear test</title> | ||||
|         <style type="text/css"> | ||||
|             /* last modified: 1 Dec 98 */ | ||||
| 
 | ||||
|             html { | ||||
|                 font: 10px/1 'SerenitySans'; | ||||
|                 background-color: blue; | ||||
|                 color: white; | ||||
|             } | ||||
| 
 | ||||
|             body { | ||||
|                 margin: 1.5em; | ||||
|                 border: 0.5em solid black; | ||||
|                 padding: 0; | ||||
|                 width: 48em; | ||||
|                 background-color: white; | ||||
|             } | ||||
| 
 | ||||
|             dl { | ||||
|                 margin: 0; | ||||
|                 border: 0; | ||||
|                 padding: 0.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: 0.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: 0.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 0.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 type="radio" name="foo" value="off" /> | ||||
|                             </p> | ||||
|                             <p> | ||||
|                                 whimper | ||||
|                                 <input type="radio" name="foo2" value="on" /> | ||||
|                             </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="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="sec5526c.htm">parent page</a>. | ||||
|         </p> | ||||
|     </body> | ||||
| </html> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling