def test_html_diff(self):
     self.assertEqual(html_diff('one\ntoo\nthree\n', 'one\ntwo\nthree\n'), (
         '<html>\n'
         '<head>\n'
         '<style>.del { background: #faa; } .add { background: #afa; }</style>\n'
         '</head>\n'
         '<body>\n'
         '<pre>one\n'
         '<span class="del">too\n'
         '</span><span class="add">two\n'
         '</span>three\n'
         '</pre>\n'
         '</body>\n'
         '</html>\n'))
 def test_html_diff(self):
     self.assertEqual(html_diff('one\ntoo\nthree\n', 'one\ntwo\nthree\n'), (
         '<html>\n'
         '<head>\n'
         '<style>\n'
         'table { white-space: pre-wrap; font-family: monospace; border-collapse: collapse; }\n'
         'th { color: #444; background: #eed; text-align: right; vertical-align: baseline; padding: 1px 4px 1px 4px; }\n'
         '.del { background: #faa; }\n'
         '.add { background: #afa; }\n'
         '</style>\n'
         '</head>\n'
         '<body><table>'
         '<tr><th>1<th>1<td>one\n</tr>'
         '<tr><th>2<th><td class="del">too\n</tr>'
         '<tr><th><th>2<td class="add">two\n</tr>'
         '<tr><th>3<th>3<td>three\n</tr>'
         '</table></body>\n'
         '</html>\n'))
Exemple #3
0
    def create_text_diff_and_write_result(self, actual_text, expected_text):
        # FIXME: This function is actually doing the diffs as well as writing results.
        # It might be better to extract code which does 'diff' and make it a separate function.
        if not actual_text or not expected_text:
            return

        # Output a plain-text diff file.
        file_type = '.txt'
        actual_filename = self.output_filename(self.FILENAME_SUFFIX_ACTUAL +
                                               file_type)
        expected_filename = self.output_filename(
            self.FILENAME_SUFFIX_EXPECTED + file_type)
        diff = unified_diff(expected_text, actual_text, expected_filename,
                            actual_filename)
        diff_filename = self.output_filename(self.FILENAME_SUFFIX_DIFF +
                                             file_type)
        self._write_file(diff_filename, diff)

        # Output a HTML diff file.
        html_diff_filename = self.output_filename(
            self.FILENAME_SUFFIX_HTML_DIFF)
        html_diff_contents = html_diff(expected_text, actual_text)
        self._write_file(html_diff_filename, html_diff_contents)