uri-013.xht (4634B)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>CSS Test: handling of invalid url() functions</title> 5 <link rel="author" title="L. David Baron" href="https://dbaron.org/" /> 6 <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" /> 7 <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#tokenization" /> 8 <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#parsing-errors" /> 9 <link rel="match" href="uri-013-ref.xht"/> 10 <meta name="flags" content="invalid" /> 11 <style type="text/css"> 12 div { background-color: red } 13 </style> 14 <style type="text/css"> 15 /* not a URI token, but handled according to rules for parsing errors */ 16 #one { background: url(foo"bar") } 17 #one { background-color: green; } 18 </style> 19 <style type="text/css"> 20 /* not a URI token, but handled according to rules for parsing errors */ 21 #foo { background: url(foo"bar 22 ) } 23 #two { background-color: green; } 24 </style> 25 <style type="text/css"> 26 /* not a URI token; the unterminated string ends at end of line, so 27 the brace never matches */ 28 #three { background-color: green; } 29 #foo { background: url(foo"bar) } 30 #three { background-color: red; } 31 </style> 32 <style type="text/css"> 33 /* not a URI token; the unterminated string ends at end of line */ 34 #foo { background: url(foo"bar) } 35 ) } 36 #four { background-color: green; } 37 </style> 38 <style type="text/css"> 39 /* not a URI token; the unterminated string ends at end of line, so 40 the brace never matches */ 41 #five { background-color: green; } 42 #foo { background: url("bar) } 43 #five { background-color: red; } 44 </style> 45 <style type="text/css"> 46 /* not a URI token; the unterminated string ends at end of line */ 47 #foo { background: url("bar) } 48 ) } 49 #six { background-color: green; } 50 </style> 51 <style type="text/css"> 52 /* not a URI token, but brace matching should work */ 53 #seven { background: url(()); background-color: green; } 54 </style> 55 <style type="text/css"> 56 /* not a URI token, but brace matching should work */ 57 #eight { background: url([{}]); background-color: green; } 58 </style> 59 <style type="text/css"> 60 /* not a URI token, but brace matching should work */ 61 #nine { background: url([)]); background-color: green; } 62 </style> 63 <style type="text/css"> 64 /* perfectly good URI token (image is a 404, though) */ 65 #ten { background: url({) green; } 66 </style> 67 <style type="text/css"> 68 /* perfectly good URI token (image is a 404, though) */ 69 #eleven { background: url([) green; } 70 </style> 71 <style type="text/css"> 72 /* not a URI token; brace matching should work only after invalid URI token */ 73 #twelve { background: url(}{""{)}); background-color: green; } 74 </style> 75 <style type="text/css"> 76 /* invalid URI token absorbs the [ */ 77 #thirteen { background: url([""); background-color: green; } 78 </style> 79 <style type="text/css"> 80 /* not a URI token; the opening ( is never matched */ 81 #fourteen { background-color: green; } 82 #foo { background: url(() } 83 #fourteen { background-color: red; } 84 </style> 85 <!-- The next three tests test that invalid URI tokens absorb [ and { --> 86 <style type="text/css"> 87 #foo { background: url(a()); } 88 #fifteen { background-color: green } 89 </style> 90 <style type="text/css"> 91 #foo { background: url([()); } 92 #sixteen { background-color: green } 93 </style> 94 <style type="text/css"> 95 #foo { background: url({()); } 96 #seventeen { background-color: green } 97 </style> 98 </head> 99 <body> 100 <div id="one">This should have a green background</div> 101 <div id="two">This should have a green background</div> 102 <div id="three">This should have a green background</div> 103 <div id="four">This should have a green background</div> 104 <div id="five">This should have a green background</div> 105 <div id="six">This should have a green background</div> 106 <div id="seven">This should have a green background</div> 107 <div id="eight">This should have a green background</div> 108 <div id="nine">This should have a green background</div> 109 <div id="ten">This should have a green background</div> 110 <div id="eleven">This should have a green background</div> 111 <div id="twelve">This should have a green background</div> 112 <div id="thirteen">This should have a green background</div> 113 <div id="fourteen">This should have a green background</div> 114 <div id="fifteen">This should have a green background</div> 115 <div id="sixteen">This should have a green background</div> 116 <div id="seventeen">This should have a green background</div> 117 </body> 118 </html>