1from io import BytesIO 2 3import pytest 4 5from .. import manifestexpected 6 7 8@pytest.mark.parametrize("fuzzy, expected", [ 9 (b"ref.html:1;200", [("ref.html", ((1, 1), (200, 200)))]), 10 (b"ref.html:0-1;100-200", [("ref.html", ((0, 1), (100, 200)))]), 11 (b"0-1;100-200", [(None, ((0, 1), (100, 200)))]), 12 (b"maxDifference=1;totalPixels=200", [(None, ((1, 1), (200, 200)))]), 13 (b"totalPixels=200;maxDifference=1", [(None, ((1, 1), (200, 200)))]), 14 (b"totalPixels=200;1", [(None, ((1, 1), (200, 200)))]), 15 (b"maxDifference=1;200", [(None, ((1, 1), (200, 200)))]), 16 (b"test.html==ref.html:maxDifference=1;totalPixels=200", 17 [((u"test.html", u"ref.html", "=="), ((1, 1), (200, 200)))]), 18 (b"test.html!=ref.html:maxDifference=1;totalPixels=200", 19 [((u"test.html", u"ref.html", "!="), ((1, 1), (200, 200)))]), 20 (b"[test.html!=ref.html:maxDifference=1;totalPixels=200, test.html==ref1.html:maxDifference=5-10;100]", 21 [((u"test.html", u"ref.html", "!="), ((1, 1), (200, 200))), 22 ((u"test.html", u"ref1.html", "=="), ((5,10), (100, 100)))]), 23]) 24def test_fuzzy(fuzzy, expected): 25 data = b""" 26[test.html] 27 fuzzy: %s""" % fuzzy 28 f = BytesIO(data) 29 manifest = manifestexpected.static.compile(f, 30 {}, 31 data_cls_getter=manifestexpected.data_cls_getter, 32 test_path="test/test.html", 33 url_base="/") 34 assert manifest.get_test("/test/test.html").fuzzy == expected 35