diff --git a/tests/ref/basic.list b/tests/ref/basic.list index 6b516b9cba5..60c869a4d84 100644 --- a/tests/ref/basic.list +++ b/tests/ref/basic.list @@ -6,8 +6,6 @@ fragment=top != ../html/acid2.html acid2_ref.html resolution=300x300,device-pixel-ratio=2 != pixel_snapping_border_a.html pixel_snapping_border_ref.html resolution=300x300,device-pixel-ratio=2 != pixel_snapping_position_a.html pixel_snapping_position_ref.html -resolution=800x600 == viewport_percentage_vw_vh.html viewport_percentage_vw_vh_a.html -# resolution=600x800 == viewport_percentage_vw_vh.html viewport_percentage_vw_vh_b.html # This file must be sorted alphabetically. # Please run `./mach test-tidy` to check your changes. diff --git a/tests/wpt/css-tests/tools/manifest/item.py b/tests/wpt/css-tests/tools/manifest/item.py index 702682cd70e..8ee17004495 100644 --- a/tests/wpt/css-tests/tools/manifest/item.py +++ b/tests/wpt/css-tests/tools/manifest/item.py @@ -123,26 +123,29 @@ class RefTest(URLManifestItem): item_type = "reftest" def __init__(self, source_file, url, references, url_base="/", timeout=None, - manifest=None): + viewport_size=None, manifest=None): URLManifestItem.__init__(self, source_file, url, url_base=url_base, manifest=manifest) for _, ref_type in references: if ref_type not in ["==", "!="]: raise ValueError, "Unrecognised ref_type %s" % ref_type self.references = tuple(references) self.timeout = timeout + self.viewport_size = viewport_size @property def is_reference(self): return self.source_file.name_is_reference def meta_key(self): - return (self.timeout,) + return (self.timeout, self.viewport_size) def to_json(self): rv = URLManifestItem.to_json(self) rv["references"] = self.references if self.timeout is not None: rv["timeout"] = self.timeout + if self.viewport_size is not None: + rv["viewport_size"] = self.viewport_size return rv @classmethod @@ -153,6 +156,7 @@ class RefTest(URLManifestItem): obj["references"], url_base=manifest.url_base, timeout=obj.get("timeout"), + viewport_size=obj.get("viewport_size"), manifest=manifest) diff --git a/tests/wpt/css-tests/tools/manifest/sourcefile.py b/tests/wpt/css-tests/tools/manifest/sourcefile.py index 7c0f976a44b..3681f85276e 100644 --- a/tests/wpt/css-tests/tools/manifest/sourcefile.py +++ b/tests/wpt/css-tests/tools/manifest/sourcefile.py @@ -180,6 +180,23 @@ class SourceFile(object): if timeout_str and timeout_str.lower() == "long": return timeout_str + @cached_property + def viewport_nodes(self): + """List of ElementTree Elements corresponding to nodes in a test that + specify viewport sizes""" + return self.root.findall(".//{http://www.w3.org/1999/xhtml}meta[@name='viewport-size']") + + @cached_property + def viewport_size(self): + """The viewport size of a test or reference file""" + if not self.root: + return None + + if not self.viewport_nodes: + return None + + return self.viewport_nodes[0].attrib.get("content", None) + @cached_property def testharness_nodes(self): """List of ElementTree Elements corresponding to nodes representing a @@ -271,7 +288,7 @@ class SourceFile(object): rv.append(TestharnessTest(self, url, timeout=self.timeout)) elif self.content_is_ref_node: - rv = [RefTest(self, self.url, self.references, timeout=self.timeout)] + rv = [RefTest(self, self.url, self.references, timeout=self.timeout, viewport_size=self.viewport_size)] else: # If nothing else it's a helper file, which we don't have a specific type for diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 745b7c191ba..88add1dbdf1 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -4893,6 +4893,32 @@ "viewport_size": "500x700" } ], + "css/viewport_percentage_vw_vh_a.html": [ + { + "path": "css/viewport_percentage_vw_vh_a.html", + "references": [ + [ + "/_mozilla/css/viewport_percentage_vw_vh_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/viewport_percentage_vw_vh_a.html", + "viewport_size": "700x500" + } + ], + "css/viewport_percentage_vw_vh_b.html": [ + { + "path": "css/viewport_percentage_vw_vh_b.html", + "references": [ + [ + "/_mozilla/css/viewport_percentage_vw_vh_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/viewport_percentage_vw_vh_b.html", + "viewport_size": "500x700" + } + ], "css/viewport_rule.html": [ { "path": "css/viewport_rule.html", @@ -10852,6 +10878,32 @@ "viewport_size": "500x700" } ], + "css/viewport_percentage_vw_vh_a.html": [ + { + "path": "css/viewport_percentage_vw_vh_a.html", + "references": [ + [ + "/_mozilla/css/viewport_percentage_vw_vh_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/viewport_percentage_vw_vh_a.html", + "viewport_size": "700x500" + } + ], + "css/viewport_percentage_vw_vh_b.html": [ + { + "path": "css/viewport_percentage_vw_vh_b.html", + "references": [ + [ + "/_mozilla/css/viewport_percentage_vw_vh_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/viewport_percentage_vw_vh_b.html", + "viewport_size": "500x700" + } + ], "css/viewport_rule.html": [ { "path": "css/viewport_rule.html", diff --git a/tests/ref/viewport_percentage_vw_vh_a.html b/tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_a.html similarity index 53% rename from tests/ref/viewport_percentage_vw_vh_a.html rename to tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_a.html index 116b3a05481..4ae0d07e923 100644 --- a/tests/ref/viewport_percentage_vw_vh_a.html +++ b/tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_a.html @@ -1,11 +1,13 @@
+ + diff --git a/tests/ref/viewport_percentage_vw_vh_b.html b/tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_b.html similarity index 53% rename from tests/ref/viewport_percentage_vw_vh_b.html rename to tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_b.html index d67f728bc8f..6d306b5ff82 100644 --- a/tests/ref/viewport_percentage_vw_vh_b.html +++ b/tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_b.html @@ -1,11 +1,13 @@ + + diff --git a/tests/ref/viewport_percentage_vw_vh.html b/tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_ref.html similarity index 79% rename from tests/ref/viewport_percentage_vw_vh.html rename to tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_ref.html index 11e6f5b00bf..07146c46a08 100644 --- a/tests/ref/viewport_percentage_vw_vh.html +++ b/tests/wpt/mozilla/tests/css/viewport_percentage_vw_vh_ref.html @@ -4,8 +4,8 @@