reftest.list (17298B)
1 2 # This directory contains tests that test the sizing of the SVG viewport into 3 # which SVG is rendered. It includes tests for standalone SVG, SVG embedded by 4 # reference using the HTML <object> element, and SVG rendered inline within 5 # XHTML. 6 # 7 # SVG's <svg> element is a "replaced element". The main specification texts 8 # covering how the <svg> element is sized are: 9 # 10 # http://www.w3.org/TR/SVGMobile12/coords.html#InitialViewport 11 # http://www.w3.org/TR/SVGMobile12/coords.html#IntrinsicSizing 12 # http://www.w3.org/TR/CSS21/visudet.html 13 14 != scrollbars-01.svg scrollbars-01-anti-ref.svg 15 != scrollbars-02.svg scrollbars-01-anti-ref.svg 16 17 # Standalone tests 18 # 19 # To get reasonable test coverage of the implementation of the replaced element 20 # algorythm we test all permutations of the CSS 'width' and 'height' properties 21 # having the values zero, auto, a px value or a percentage value, and of the 22 # intrinsic width and height (the 'width' and 'height' attributes) having the 23 # values zero, a px value or a percentage value. This gives us 4*4*3*3 == 144 24 # tests. On top of that, there are 12 cases from the 144 permutations for which 25 # the 'viewBox' attribute should have an affect (see below). 26 # 27 # In the file names for the standalone tests that follow, the first two fields 28 # denote the type of value specified for the CSS 'width' and 'height' 29 # properties, and the third and four fields denote the type of value used for 30 # the intrinsic width and height (i.e. the 'width' and 'height' attributes). 31 # 32 # Note that the standalone SVG testcases can't test defaulting to 300x150 px 33 # because SVG always has an intrinsic width and height. To get the size of an 34 # SVG to default to 300x150 px the SVG will need to have a containing block 35 # that depends on the SVG's size (e.g. a floating containing block). Again, see 36 # below for those tests. 37 38 == standalone--0-0--0-0.svg pass-empty.svg 39 == standalone--0-0--0-pct.svg pass-empty.svg 40 == standalone--0-0--0-px.svg pass-empty.svg 41 == standalone--0-0--pct-0.svg pass-empty.svg 42 == standalone--0-0--pct-pct.svg pass-empty.svg 43 == standalone--0-0--pct-px.svg pass-empty.svg 44 == standalone--0-0--px-0.svg pass-empty.svg 45 == standalone--0-0--px-pct.svg pass-empty.svg 46 == standalone--0-0--px-px.svg pass-empty.svg 47 48 == standalone--0-auto--0-0.svg pass-empty.svg 49 == standalone--0-auto--0-pct.svg pass-empty.svg 50 == standalone--0-auto--0-px.svg pass-empty.svg 51 == standalone--0-auto--pct-0.svg pass-empty.svg 52 == standalone--0-auto--pct-pct.svg pass-empty.svg 53 == standalone--0-auto--pct-px.svg pass-empty.svg 54 == standalone--0-auto--px-0.svg pass-empty.svg 55 == standalone--0-auto--px-pct.svg pass-empty.svg 56 == standalone--0-auto--px-px.svg pass-empty.svg 57 58 == standalone--0-pct--0-0.svg pass-empty.svg 59 == standalone--0-pct--0-pct.svg pass-empty.svg 60 == standalone--0-pct--0-px.svg pass-empty.svg 61 == standalone--0-pct--pct-0.svg pass-empty.svg 62 == standalone--0-pct--pct-pct.svg pass-empty.svg 63 == standalone--0-pct--pct-px.svg pass-empty.svg 64 == standalone--0-pct--px-0.svg pass-empty.svg 65 == standalone--0-pct--px-pct.svg pass-empty.svg 66 == standalone--0-pct--px-px.svg pass-empty.svg 67 68 == standalone--0-px--0-0.svg pass-empty.svg 69 == standalone--0-px--0-pct.svg pass-empty.svg 70 == standalone--0-px--0-px.svg pass-empty.svg 71 == standalone--0-px--pct-0.svg pass-empty.svg 72 == standalone--0-px--pct-pct.svg pass-empty.svg 73 == standalone--0-px--pct-px.svg pass-empty.svg 74 == standalone--0-px--px-0.svg pass-empty.svg 75 == standalone--0-px--px-pct.svg pass-empty.svg 76 == standalone--0-px--px-px.svg pass-empty.svg 77 78 == standalone--auto-0--0-0.svg pass-empty.svg 79 == standalone--auto-0--0-pct.svg pass-empty.svg 80 == standalone--auto-0--0-px.svg pass-empty.svg 81 == standalone--auto-0--pct-0.svg pass-empty.svg 82 == standalone--auto-0--pct-pct.svg pass-empty.svg 83 == standalone--auto-0--pct-px.svg pass-empty.svg 84 == standalone--auto-0--px-0.svg pass-empty.svg 85 == standalone--auto-0--px-pct.svg pass-empty.svg 86 == standalone--auto-0--px-px.svg pass-empty.svg 87 88 == standalone--auto-auto--0-0.svg pass-empty.svg 89 == standalone--auto-auto--0-pct.svg pass-empty.svg 90 == standalone--auto-auto--0-px.svg pass-empty.svg 91 == standalone--auto-auto--pct-0.svg pass-empty.svg 92 fuzzy-if(winWidget,0-1,0-400) == standalone--auto-auto--pct-pct.svg pass-pct-pct.xhtml 93 == standalone--auto-auto--pct-px.svg pass-pct-px.xhtml 94 == standalone--auto-auto--px-0.svg pass-empty.svg 95 == standalone--auto-auto--px-pct.svg pass-px-pct.xhtml 96 == standalone--auto-auto--px-px.svg pass-px-px.xhtml 97 98 == standalone--auto-pct--0-0.svg pass-empty.svg 99 == standalone--auto-pct--0-pct.svg pass-empty.svg 100 == standalone--auto-pct--0-px.svg pass-empty.svg 101 fuzzy-if(winWidget,0-1,0-400) == standalone--auto-pct--pct-0.svg pass-pct-pct.xhtml 102 fuzzy-if(winWidget,0-1,0-400) == standalone--auto-pct--pct-pct.svg pass-pct-pct.xhtml 103 fuzzy-if(winWidget,0-1,0-400) == standalone--auto-pct--pct-px.svg pass-pct-pct.xhtml 104 == standalone--auto-pct--px-0.svg pass-px-pct.xhtml 105 == standalone--auto-pct--px-pct.svg pass-px-pct.xhtml 106 fuzzy-if(winWidget,0-1,0-1000) == standalone--auto-pct--px-px.svg pass-pct-height-square.xhtml # intrinsic ratio! 107 108 == standalone--auto-px--0-0.svg pass-empty.svg 109 == standalone--auto-px--0-pct.svg pass-empty.svg 110 == standalone--auto-px--0-px.svg pass-empty.svg 111 == standalone--auto-px--pct-0.svg pass-pct-px.xhtml 112 == standalone--auto-px--pct-pct.svg pass-pct-px.xhtml 113 == standalone--auto-px--pct-px.svg pass-pct-px.xhtml 114 == standalone--auto-px--px-0.svg pass-px-px.xhtml 115 == standalone--auto-px--px-pct.svg pass-px-px.xhtml 116 == standalone--auto-px--px-px.svg pass-px-px.xhtml # intrinsic ratio! 117 118 == standalone--pct-0--0-0.svg pass-empty.svg 119 == standalone--pct-0--0-pct.svg pass-empty.svg 120 == standalone--pct-0--0-px.svg pass-empty.svg 121 == standalone--pct-0--pct-0.svg pass-empty.svg 122 == standalone--pct-0--pct-pct.svg pass-empty.svg 123 == standalone--pct-0--pct-px.svg pass-empty.svg 124 == standalone--pct-0--px-0.svg pass-empty.svg 125 == standalone--pct-0--px-pct.svg pass-empty.svg 126 == standalone--pct-0--px-px.svg pass-empty.svg 127 128 == standalone--pct-auto--0-0.svg pass-empty.svg 129 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-auto--0-pct.svg pass-pct-pct.xhtml 130 == standalone--pct-auto--0-px.svg pass-pct-px.xhtml 131 == standalone--pct-auto--pct-0.svg pass-empty.svg 132 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-auto--pct-pct.svg pass-pct-pct.xhtml 133 == standalone--pct-auto--pct-px.svg pass-pct-px.xhtml 134 == standalone--pct-auto--px-0.svg pass-empty.svg 135 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-auto--px-pct.svg pass-pct-pct.xhtml 136 == standalone--pct-auto--px-px.svg pass-pct-width-square.xhtml # intrinsic ratio! 137 138 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--0-0.svg pass-pct-pct.xhtml 139 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--0-pct.svg pass-pct-pct.xhtml 140 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--0-px.svg pass-pct-pct.xhtml 141 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--pct-0.svg pass-pct-pct.xhtml 142 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--pct-pct.svg pass-pct-pct.xhtml 143 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--pct-px.svg pass-pct-pct.xhtml 144 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--px-0.svg pass-pct-pct.xhtml 145 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--px-pct.svg pass-pct-pct.xhtml 146 fuzzy-if(winWidget,0-1,0-400) == standalone--pct-pct--px-px.svg pass-pct-pct.xhtml 147 148 == standalone--pct-px--0-0.svg pass-pct-px.xhtml 149 == standalone--pct-px--0-pct.svg pass-pct-px.xhtml 150 == standalone--pct-px--0-px.svg pass-pct-px.xhtml 151 == standalone--pct-px--pct-0.svg pass-pct-px.xhtml 152 == standalone--pct-px--pct-pct.svg pass-pct-px.xhtml 153 == standalone--pct-px--pct-px.svg pass-pct-px.xhtml 154 == standalone--pct-px--px-0.svg pass-pct-px.xhtml 155 == standalone--pct-px--px-pct.svg pass-pct-px.xhtml 156 == standalone--pct-px--px-px.svg pass-pct-px.xhtml 157 158 == standalone--px-0--0-0.svg pass-empty.svg 159 == standalone--px-0--0-pct.svg pass-empty.svg 160 == standalone--px-0--0-px.svg pass-empty.svg 161 == standalone--px-0--pct-0.svg pass-empty.svg 162 == standalone--px-0--pct-pct.svg pass-empty.svg 163 == standalone--px-0--pct-px.svg pass-empty.svg 164 == standalone--px-0--px-0.svg pass-empty.svg 165 == standalone--px-0--px-pct.svg pass-empty.svg 166 == standalone--px-0--px-px.svg pass-empty.svg 167 168 == standalone--px-auto--0-0.svg pass-empty.svg 169 == standalone--px-auto--0-pct.svg pass-px-pct.xhtml 170 == standalone--px-auto--0-px.svg pass-px-px.xhtml 171 == standalone--px-auto--pct-0.svg pass-empty.svg 172 == standalone--px-auto--pct-pct.svg pass-px-pct.xhtml 173 == standalone--px-auto--pct-px.svg pass-px-px.xhtml 174 == standalone--px-auto--px-0.svg pass-empty.svg 175 == standalone--px-auto--px-pct.svg pass-px-pct.xhtml 176 == standalone--px-auto--px-px.svg pass-px-px.xhtml # intrinsic ratio! 177 178 == standalone--px-pct--0-0.svg pass-px-pct.xhtml 179 == standalone--px-pct--0-pct.svg pass-px-pct.xhtml 180 == standalone--px-pct--0-px.svg pass-px-pct.xhtml 181 == standalone--px-pct--pct-0.svg pass-px-pct.xhtml 182 == standalone--px-pct--pct-pct.svg pass-px-pct.xhtml 183 == standalone--px-pct--pct-px.svg pass-px-pct.xhtml 184 == standalone--px-pct--px-0.svg pass-px-pct.xhtml 185 == standalone--px-pct--px-pct.svg pass-px-pct.xhtml 186 == standalone--px-pct--px-px.svg pass-px-pct.xhtml 187 188 == standalone--px-px--0-0.svg pass-px-px.xhtml 189 == standalone--px-px--0-pct.svg pass-px-px.xhtml 190 == standalone--px-px--0-px.svg pass-px-px.xhtml 191 == standalone--px-px--pct-0.svg pass-px-px.xhtml 192 == standalone--px-px--pct-pct.svg pass-px-px.xhtml 193 == standalone--px-px--pct-px.svg pass-px-px.xhtml 194 == standalone--px-px--px-0.svg pass-px-px.xhtml 195 == standalone--px-px--px-pct.svg pass-px-px.xhtml 196 == standalone--px-px--px-px.svg pass-px-px.xhtml 197 198 199 # As mentioned above, the 'viewBox' attribute may play a part in the sizing of 200 # the SVG viewport in 12 of the 144 standalone tests above. The 'viewBox' 201 # attribute only affects the replaced element sizing algorithm (by providing an 202 # intrinsic ratio) when the SVG 'width' and 'height' attributes don't provide 203 # an intrinsic ratio but the algorithm says the intrinsic ratio should be used 204 # if avaliable. In other words, this is when one of the CSS properties 'width' 205 # or 'height' has the value 'auto' and the other has a non-zero value, while 206 # one or both of the SVG 'width' and 'height' attributes has a percentage 207 # value. For the standalone tests above that means the value of the 'viewBox' 208 # attribute matters in the 12 cases that follow. 209 # 210 # XXX We could also check that 'viewBox' does NOT have an affect in the other 211 # cases. 212 # 213 # XXX What about cases like standalone--auto-pct--0-px--viewBox.svg? Is the 214 # intrinsic ratio zero and not used, or should we use the viewBox ratio? 215 216 == standalone--auto-pct--pct-pct--viewBox.svg pass-pct-height-square.xhtml 217 == standalone--auto-pct--pct-px--viewBox.svg pass-pct-height-square.xhtml 218 == standalone--auto-pct--px-pct--viewBox.svg pass-pct-height-square.xhtml 219 == standalone--auto-px--pct-pct--viewBox.svg pass-px-px.xhtml 220 == standalone--auto-px--pct-px--viewBox.svg pass-px-px.xhtml 221 == standalone--auto-px--px-pct--viewBox.svg pass-px-px.xhtml 222 == standalone--pct-auto--pct-pct--viewBox.svg pass-pct-width-square.xhtml 223 == standalone--pct-auto--pct-px--viewBox.svg pass-pct-width-square.xhtml 224 == standalone--pct-auto--px-pct--viewBox.svg pass-pct-width-square.xhtml 225 == standalone--px-auto--pct-pct--viewBox.svg pass-px-px.xhtml 226 == standalone--px-auto--pct-px--viewBox.svg pass-px-px.xhtml 227 == standalone--px-auto--px-pct--viewBox.svg pass-px-px.xhtml 228 229 230 # Sanity tests. These tests check that our choice of percentage width (49%) 231 # doesn't coincidently result in the same width as our choice of px width 232 # (70px) or the fall back width (300 px), and that our choice of percentage 233 # height (49%) doesn't coincidently result in the same height as our choice of 234 # px height (70px) or the fall back height (150 px). This ensures that we won't 235 # miss false positives for the tests: 236 # 237 # standalone--pct-xxx--px-xxx.svg 238 # standalone--xxx-pct--xxx-px.svg 239 # standalone--px-xxx--pct-xxx.svg 240 # standalone--xxx-px--xxx-pct.svg 241 # 242 # if the user agent ignores the CSS property and uses the attribute instead. 243 # This will happen if the content area width is 612 px or the content height is 244 # 306 px. Hopefully it's unlikely testers will encounter this. 245 246 != standalone-sanity-width-pct.svg standalone-sanity-width-px.svg 247 != standalone-sanity-width-pct.svg standalone-sanity-width-300px.svg 248 != standalone-sanity-height-pct.svg standalone-sanity-height-px.svg 249 != standalone-sanity-height-pct.svg standalone-sanity-height-150px.svg 250 251 252 # Embedded inline tests 253 # 254 # The standalone tests provide a reasonable workout for replaced element 255 # algorithm sizing, but we also want to test that SVG embedded inline is 256 # positioned correctly when the properties 'display', 'float' and 'position' 257 # are set to different values. 258 # 259 # We could certainly expand on these tests, but they provide reasonable base 260 # coverage. 261 262 == inline--display-block--01.xhtml inline--display-block--01-ref.xhtml 263 fuzzy-if(cocoaWidget,0-1,0-10) == inline--display-inline--01.xhtml inline--display-inline--01-ref.xhtml 264 == inline--display-inline-block--01.xhtml inline--display-inline-block--01-ref.xhtml 265 == inline--float-left--01.xhtml inline--float-left--01-ref.xhtml 266 == inline--float-right--01.xhtml inline--float-right--01-ref.xhtml 267 == inline--position-absolute--01.xhtml inline--position-absolute--01-ref.xhtml 268 == inline--position-absolute--02.xhtml pass.svg 269 == inline--position-relative--01.xhtml inline--position-relative--01-ref.xhtml 270 271 272 # Embedded by reference tests 273 # 274 # One issue when it comes to documents embedded by reference is whether 275 # non-'auto' values for the CSS 'width' and 'height' properties on the 276 # _embedded_ document's root element should be used as intrinsic values by 277 # replaced elements like HTML <object>. For the sake of simplicity we will 278 # ignore this case for now, but it's certainly worth revisiting at some point 279 # in the future. 280 # 281 # Since we have given the replaced element algorithm a reasonable workout in 282 # the standalone tests, for the embedded by reference tests we will simply 283 # check that the embedded SVG's intrinsic dimensions are used. The following 284 # tests do not have any width or height on the <object> element so they should 285 # be sized purely by the embedded SVG's intrinsic size. 286 287 random-if(Android) == object--auto-auto--0-0.html pass-empty.svg # XXX add border 288 random-if(Android) == object--auto-auto--0-pct.html object--auto-auto--0-pct--ref.html 289 random-if(Android) == object--auto-auto--0-px.html object--auto-auto--0-px--ref.html 290 random-if(Android) == object--auto-auto--pct-0.html object--auto-auto--pct-0--ref.html 291 # The following four commented out tests fail post bug 428023: 292 #== object--auto-auto--pct-pct.html object--auto-auto--pct-pct--ref.html 293 #== object--auto-auto--pct-px.html object--auto-auto--pct-px--ref.html 294 random-if(Android) == object--auto-auto--px-0.html object--auto-auto--px-0--ref.html 295 #== object--auto-auto--px-pct.html object--auto-auto--px-pct--ref.html 296 random-if(Android) == object--auto-auto--px-px.html object--auto-auto--px-px--ref.html 297 #== object--pct-pct--0-0.html pass.svg 298 299 300 # Assorted tests to check that dynamic changes work correctly 301 # 302 # Here we have an assortment of different tests to check that updates occur 303 # correctly when changes are made that should result in a change in the size 304 # or position of the SVG. 305 306 == dynamic--inline-css-height.xhtml pass.svg 307 == dynamic--inline-css-width.xhtml pass.svg 308 skip == dynamic--inline-resize-window-height.xhtml pass.svg # XXX breaks the reftest run as the window height somehow is not restored 309 skip == dynamic--inline-resize-window-width.xhtml pass.svg # Fails way too much 310 random-if(Android) == dynamic--object-svg-unloaded.xhtml pass.svg 311 # == dynamic--object--auto-auto--pct-px.html 312 313 # FIXME(dlrobertson): Blink and WebKit do no not pass the following tests due 314 # due to a difference in surface size calculation. 315 == canvas-drawImage-no-width-or-height.html canvas-drawImage-no-width-or-height-ref.html 316 == canvas-drawImage-width-with-no-height.html canvas-drawImage-width-with-no-height-ref.html 317 == canvas-drawImage-height-with-no-width.html canvas-drawImage-height-with-no-width-ref.html