aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/web-platform-tests/tools/manifest/sourcefile.py')
-rw-r--r--tests/wpt/web-platform-tests/tools/manifest/sourcefile.py55
1 files changed, 43 insertions, 12 deletions
diff --git a/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py b/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
index 299ad212f76..2a35400afe4 100644
--- a/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
@@ -33,8 +33,16 @@ except ImportError:
import html5lib
from . import XMLParser
-from .item import (ManifestItem, ManualTest, WebDriverSpecTest, RefTest, TestharnessTest,
- SupportFile, CrashTest, ConformanceCheckerTest, VisualTest)
+from .item import (ConformanceCheckerTest,
+ CrashTest,
+ ManifestItem,
+ ManualTest,
+ PrintRefTest,
+ RefTest,
+ SupportFile,
+ TestharnessTest,
+ VisualTest,
+ WebDriverSpecTest)
from .utils import ContextManagerBytesIO, cached_property
wd_pattern = "*.py"
@@ -45,6 +53,7 @@ reference_file_re = re.compile(r'(^|[\-_])(not)?ref[0-9]*([\-_]|$)')
space_chars = u"".join(html5lib.constants.spaceCharacters) # type: Text
+
def replace_end(s, old, new):
# type: (Text, Text, Text) -> Text
"""
@@ -417,6 +426,11 @@ class SourceFile(object):
return "tentative" in self.meta_flags
@property
+ def name_is_print_reftest(self):
+ # type: () -> bool
+ return self.type_flag == "print" or "print" in self.dir_path.split(os.path.sep)
+
+ @property
def markup_type(self):
# type: () -> Optional[Text]
"""Return the type of markup contained in a file, based on its extension,
@@ -851,6 +865,16 @@ class SourceFile(object):
self.rel_path
)]
+ elif self.name_is_webdriver:
+ rv = WebDriverSpecTest.item_type, [
+ WebDriverSpecTest(
+ self.tests_root,
+ self.rel_path,
+ self.url_base,
+ self.rel_url,
+ timeout=self.timeout
+ )]
+
elif self.name_is_visual:
rv = VisualTest.item_type, [
VisualTest(
@@ -869,6 +893,23 @@ class SourceFile(object):
self.rel_url
)]
+ elif self.name_is_print_reftest:
+ references = self.references
+ if not references:
+ raise ValueError("%s detected as print reftest but doesn't have any refs" %
+ self.path)
+ rv = PrintRefTest.item_type, [
+ PrintRefTest(
+ self.tests_root,
+ self.rel_path,
+ self.url_base,
+ self.rel_url,
+ references=references,
+ timeout=self.timeout,
+ viewport_size=self.viewport_size,
+ fuzzy=self.fuzzy,
+ )]
+
elif self.name_is_multi_global:
globals = u""
script_metadata = self.script_metadata
@@ -926,16 +967,6 @@ class SourceFile(object):
]
rv = TestharnessTest.item_type, tests
- elif self.name_is_webdriver:
- rv = WebDriverSpecTest.item_type, [
- WebDriverSpecTest(
- self.tests_root,
- self.rel_path,
- self.url_base,
- self.rel_url,
- timeout=self.timeout
- )]
-
elif self.content_is_css_manual and not self.name_is_reference:
rv = ManualTest.item_type, [
ManualTest(