mirror of
https://github.com/google/pybadges.git
synced 2025-08-25 20:00:27 +02:00
Show differing images side-by-side
This commit is contained in:
7
setup.py
7
setup.py
@@ -70,7 +70,12 @@ setup(
|
||||
extras_require={
|
||||
'pil-measurement': ['Pillow>=6,<10'],
|
||||
'dev': [
|
||||
'fonttools>=3.26', 'nox', 'Pillow>=5', 'pytest>=3.6', 'xmldiff>=2.4'
|
||||
'Flask>=2.0', # For server tests.
|
||||
'fonttools>=3.26',
|
||||
'nox',
|
||||
'Pillow>=5',
|
||||
'pytest>=3.6',
|
||||
'xmldiff>=2.4'
|
||||
],
|
||||
},
|
||||
license='Apache-2.0',
|
||||
|
@@ -53,14 +53,35 @@ class TestPybadgesBadge(unittest.TestCase):
|
||||
for example in examples:
|
||||
file_name = example.pop('file_name')
|
||||
with self.subTest(example=file_name):
|
||||
filepath = os.path.join(TEST_DIR, 'golden-images', file_name)
|
||||
goldenpath = os.path.join(TEST_DIR, 'golden-images', file_name)
|
||||
|
||||
with open(filepath, mode="r", encoding="utf-8") as f:
|
||||
with open(goldenpath, mode="r", encoding="utf-8") as f:
|
||||
golden_image = f.read()
|
||||
pybadge_image = pybadges.badge(**example)
|
||||
|
||||
diff = xmldiff.main.diff_texts(golden_image, pybadge_image)
|
||||
self.assertFalse(diff)
|
||||
if diff:
|
||||
with tempfile.NamedTemporaryFile(mode="w+t",
|
||||
encoding="utf-8",
|
||||
delete=False,
|
||||
suffix=".svg") as actual:
|
||||
actual.write(pybadge_image)
|
||||
|
||||
with tempfile.NamedTemporaryFile(mode="w+t",
|
||||
delete=False,
|
||||
suffix=".html") as html:
|
||||
html.write("""
|
||||
<html>
|
||||
<body>
|
||||
<img src="file://%s"><br>
|
||||
<img src="file://%s">
|
||||
<body>
|
||||
</html>""" % (goldenpath, actual.name))
|
||||
self.fail(
|
||||
"images for %s differ:\n%s\nview with:\npython -m webbrowser %s"
|
||||
% (file_name, diff, html.name))
|
||||
|
||||
self.assertFalse(diff,)
|
||||
|
||||
|
||||
class TestEmbedImage(unittest.TestCase):
|
||||
|
Reference in New Issue
Block a user