def test_html_diff(): for case in parse_cases(all_test_cases): def test(): changes = diff(case.old_html, case.new_html, cutoff=0.0) assert_html_equal(changes, case.target_changes) test.description = 'test_html_diff - %s' % case.name yield test
def reverse_cases(cases): for case in parse_cases(cases): yield ( case.name + ' (reverse)', case.new_html, case.old_html, reverse_changes_html(case.target_changes), reverse_edit_script(case.edit_script), )
def test_cases_sanity(): # check that removing the ins and del markup gives the original sane_cases = (test_cases + reverse_test_cases + one_way_test_cases) for case in parse_cases(sane_cases): def test(): assert_strip_changes(case.old_html, case.new_html, case.target_changes) test.description = 'test_cases_sanity - %s' % case.name yield test
def test_cases_sanity(): # check that removing the ins and del markup gives the original sane_cases = (test_cases + reverse_test_cases + one_way_test_cases) for case in parse_cases(sane_cases): def test(): assert_strip_changes( case.old_html, case.new_html, case.target_changes, ) test.description = 'test_cases_sanity - %s' % case.name yield test
def test_html_patch(): for case in parse_cases(all_test_cases): # check that applying the diff gives back the same new_html def test(): edit_script = [] edit_script = get_edit_script(case.old_html, case.new_html) edited_html = html_patch(case.old_html, edit_script) assert_html_equal( remove_attributes(edited_html), remove_attributes(case.new_html), ) test.description = 'test_html_patch - %s' % case.name yield test
def test_edit_script(): # edit script output does not reverse easily, don't test the reverse cases for case in parse_cases(test_cases + one_way_test_cases): if not case.edit_script: continue def test(): actual_edit_script = get_edit_script(case.old_html, case.new_html) assert_equal( case.edit_script, actual_edit_script, ('These edit scripts do not match:\n%s\n!=\n%s' % (pformat(case.edit_script), pformat(actual_edit_script))), ) test.description = 'test_edit_script - %s' % case.name yield test