1
1
mirror of https://github.com/Kozea/WeasyPrint.git synced 2024-10-05 08:27:22 +03:00

Ignore tests with dom or interact flag

This commit is contained in:
Guillaume Ayoub 2012-06-06 15:01:42 +02:00
parent 6cbdab0799
commit 9b3e66ccbe
2 changed files with 17 additions and 8 deletions

View File

@ -26,14 +26,16 @@ import pystacia
from weasyprint import HTML, CSS from weasyprint import HTML, CSS
from weasyprint.compat import urlopen from weasyprint.compat import urlopen
from .web import read_testinfo
TEST_SUITE_VERSION = '20110323' TEST_SUITE_VERSION = '20110323'
#BASE_URL = 'http://test.csswg.org/suites/css2.1/{}/html4/' #BASE_URL = 'http://test.csswg.org/suites/css2.1/{}/html4/'
# Download and extract the zip file from http://test.csswg.org/suites/css2.1/ # Download and extract the zip file from http://test.csswg.org/suites/css2.1/
BASE_URL = 'file://' + os.path.expanduser('~/css2.1_test_suite/{}/html4/') BASE_PATH = os.path.expanduser(
'~/css2.1_test_suite/{}/html4/').format(TEST_SUITE_VERSION)
BASE_URL = BASE_URL.format(TEST_SUITE_VERSION) BASE_URL = 'file://' + BASE_PATH
RESULTS_DIRECTORY = os.path.join(os.path.dirname(__file__), 'test_results') RESULTS_DIRECTORY = os.path.join(os.path.dirname(__file__), 'test_results')
@ -41,6 +43,8 @@ PAGE_SIZE_STYLESHEET = CSS(string='''
@page { margin: 0; -weasy-size: 640px } @page { margin: 0; -weasy-size: 640px }
''') ''')
IGNORED_FLAGS = {'interact', 'dom'}
def get_url(url): def get_url(url):
return closing(urlopen(BASE_URL + url)) return closing(urlopen(BASE_URL + url))
@ -73,8 +77,8 @@ def make_test_suite():
rendered = {} # Memoize rendered = {} # Memoize
def render(name): def render(name):
result = rendered.get(name) raw = rendered.get(name)
if result is None: if raw is None:
# name is sometimes "support/something.htm" # name is sometimes "support/something.htm"
basename = os.path.basename(name) basename = os.path.basename(name)
png_filename = os.path.join(RESULTS_DIRECTORY, basename + '.png') png_filename = os.path.join(RESULTS_DIRECTORY, basename + '.png')
@ -83,7 +87,11 @@ def make_test_suite():
with closing(pystacia.read(png_filename)) as image: with closing(pystacia.read(png_filename)) as image:
raw = image.get_raw('rgba') raw = image.get_raw('rgba')
rendered[name] = raw rendered[name] = raw
return result return raw
flags_by_id = {
test['test_id'] + '.htm': test['flags']
for test in read_testinfo(BASE_PATH)}
for equal, test, references in get_test_list(): for equal, test, references in get_test_list():
# Use default parameter values to bind to the current values, # Use default parameter values to bind to the current values,
@ -93,6 +101,7 @@ def make_test_suite():
references_render = map(render, references) references_render = map(render, references)
return all((test_render != ref_render) ^ equal return all((test_render != ref_render) ^ equal
for ref_render in references_render) for ref_render in references_render)
if not set(flags_by_id[test]).intersection(IGNORED_FLAGS):
yield test, test_function yield test, test_function

View File

@ -24,7 +24,7 @@ from weasyprint import HTML, CSS
def split(something): def split(something):
return something.split(',') if something else '' return something.split(',') if something else []
def read_testinfo(suite_directory): def read_testinfo(suite_directory):