|
- import re
- import difflib
-
- from hyde._compat import str
-
-
- def strip_spaces_between_tags(value):
- """
- Stolen from `django.util.html`
- Returns the given HTML with spaces between tags removed.
- """
- return re.sub(r'>\s+<', '><', str(value))
-
-
- def assert_no_diff(expected, out):
- diff = [l for l in difflib.unified_diff(expected.splitlines(True),
- out.splitlines(True),
- n=3)]
- assert not diff, ''.join(diff)
-
-
- def assert_html_equals(expected, actual, sanitize=None):
- expected = strip_spaces_between_tags(expected.strip())
- actual = strip_spaces_between_tags(actual.strip())
- if sanitize:
- expected = sanitize(expected)
- actual = sanitize(actual)
- assert expected == actual
-
-
- def trap_exit_fail(f):
- def test_wrapper(*args):
- try:
- f(*args)
- except SystemExit:
- assert False
- test_wrapper.__name__ = f.__name__
- return test_wrapper
-
-
- def trap_exit_pass(f):
- def test_wrapper(*args):
- try:
- f(*args)
- except SystemExit:
- pass
- test_wrapper.__name__ = f.__name__
- return test_wrapper
|