Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(547)

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff_unittest.py

Issue 2580143002: Add Python html_diff module. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff_unittest.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff_unittest.py
new file mode 100644
index 0000000000000000000000000000000000000000..47bbf35102ff38d8ca809622a7608b6c98adb518
--- /dev/null
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff_unittest.py
@@ -0,0 +1,69 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+
+from webkitpy.common.html_diff import html_diff, html_diff_body
+
+
+class TestHtmlDiff(unittest.TestCase):
+
+ 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_same(self):
+ self.assertEqual(
+ html_diff_body(['one line\n'], ['one line\n']),
+ 'one line\n')
+
+ def test_html_diff_delete(self):
+ self.assertEqual(
+ html_diff_body(['one line\n'], []),
+ '<span class="del">one line\n</span>')
+
+ def test_html_diff_insert(self):
+ self.assertEqual(
+ html_diff_body([], ['one line\n']),
+ '<span class="add">one line\n</span>')
+
+ def test_html_diff_ending_newline(self):
+ self.assertEqual(
+ html_diff_body(['one line'], ['one line\n']),
+ '<span class="del">one line</span><span class="add">one line\n</span>')
+
+ def test_html_diff_replace_multiple_lines(self):
+ a_lines = [
+ '1. Beautiful is better than ugly.\n',
+ '2. Explicit is better than implicit.\n',
+ '3. Simple is better than complex.\n',
+ '4. Complex is better than complicated.\n',
+ ]
+ b_lines = [
+ '1. Beautiful is better than ugly.\n',
+ '3. Simple is better than complex.\n',
+ '4. Complicated is better than complex.\n',
+ '5. Flat is better than nested.\n',
+ ]
+ self.assertEqual(html_diff_body(a_lines, b_lines), (
+ '1. Beautiful is better than ugly.\n'
+ '<span class="del">2. Explicit is better than implicit.\n'
+ '3. Simple is better than complex.\n'
+ '4. Complex is better than complicated.\n'
+ '</span><span class="add">3. Simple is better than complex.\n'
+ '4. Complicated is better than complex.\n'
+ '5. Flat is better than nested.\n'
+ '</span>'))
« no previous file with comments | « third_party/WebKit/Tools/Scripts/webkitpy/common/html_diff.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698