import os
from ZPTKit.htmlrender import *
import difflib
def print_diff(s1, s2):
differ = difflib.Differ()
result = list(differ.compare(s1.splitlines(), s2.splitlines()))
print '\n'.join(result)
def all_char(line, char):
"""
Does the given line consist of only `char` characters?
"""
return line.strip() and line.strip() == char*len(line.strip())
def split_file(filename):
tests = []
last_source = []
last_dest = None
f = open(filename)
for line in f:
if all_char(line, '-'):
last_dest = []
elif all_char(line, '='):
tests.append((''.join(last_source), ''.join(last_dest)))
last_source = []
last_dest = None
elif last_dest is None:
last_source.append(line)
else:
last_dest.append(line)
if last_dest is not None:
tests.append((''.join(last_source), ''.join(last_dest)))
return tests
def test_transformations():
tests = split_file(os.path.splitext(__file__)[0] + '.data')
for source, dest in tests:
if not render(source).strip() == dest.strip():
print "Bad comparison:"
print "Source: %r" % source
print "Dest: %r" % dest.strip()
print "Rendered: %r" % render(source).strip()
print 'SOURCE:'
print source
print 'DEST:'
print dest
print 'RENDERED:'
print render(source)
assert 0
if __name__ == '__main__':
test_transformations()