diff options
Diffstat (limited to 'Lib/test/test_difflib.py')
| -rw-r--r-- | Lib/test/test_difflib.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/Lib/test/test_difflib.py b/Lib/test/test_difflib.py index 310bf99..325449a 100644 --- a/Lib/test/test_difflib.py +++ b/Lib/test/test_difflib.py @@ -1,5 +1,5 @@ import difflib -from test.test_support import run_unittest, findfile +from test.support import run_unittest, findfile import unittest import doctest import sys @@ -12,12 +12,14 @@ class TestWithAscii(unittest.TestCase): self.assertEqual(list(sm.get_opcodes()), [ ('insert', 0, 0, 0, 1), ('equal', 0, 100, 1, 101)]) + self.assertEqual(sm.bpopular, set()) sm = difflib.SequenceMatcher(None, 'b' * 100, 'b' * 50 + 'a' + 'b' * 50) self.assertAlmostEqual(sm.ratio(), 0.995, places=3) self.assertEqual(list(sm.get_opcodes()), [ ('equal', 0, 50, 0, 50), ('insert', 50, 50, 50, 51), ('equal', 50, 100, 51, 101)]) + self.assertEqual(sm.bpopular, set()) def test_one_delete(self): sm = difflib.SequenceMatcher(None, 'a' * 40 + 'c' + 'b' * 40, 'a' * 40 + 'b' * 40) @@ -27,6 +29,19 @@ class TestWithAscii(unittest.TestCase): ('delete', 40, 41, 40, 40), ('equal', 41, 81, 40, 80)]) + def test_bjunk(self): + sm = difflib.SequenceMatcher(isjunk=lambda x: x == ' ', + a='a' * 40 + 'b' * 40, b='a' * 44 + 'b' * 40) + self.assertEqual(sm.bjunk, set()) + + sm = difflib.SequenceMatcher(isjunk=lambda x: x == ' ', + a='a' * 40 + 'b' * 40, b='a' * 44 + 'b' * 40 + ' ' * 20) + self.assertEqual(sm.bjunk, {' '}) + + sm = difflib.SequenceMatcher(isjunk=lambda x: x in [' ', 'b'], + a='a' * 40 + 'b' * 40, b='a' * 44 + 'b' * 40 + ' ' * 20) + self.assertEqual(sm.bjunk, {' ', 'b'}) + class TestAutojunk(unittest.TestCase): """Tests for the autojunk parameter added in 2.7""" @@ -38,10 +53,12 @@ class TestAutojunk(unittest.TestCase): sm = difflib.SequenceMatcher(None, seq1, seq2) self.assertAlmostEqual(sm.ratio(), 0, places=3) + self.assertEqual(sm.bpopular, {'b'}) # Now turn the heuristic off sm = difflib.SequenceMatcher(None, seq1, seq2, autojunk=False) self.assertAlmostEqual(sm.ratio(), 0.9975, places=3) + self.assertEqual(sm.bpopular, set()) class TestSFbugs(unittest.TestCase): @@ -55,9 +72,9 @@ class TestSFbugs(unittest.TestCase): def test_comparing_empty_lists(self): # Check fix for bug #979794 group_gen = difflib.SequenceMatcher(None, [], []).get_grouped_opcodes() - self.assertRaises(StopIteration, group_gen.next) + self.assertRaises(StopIteration, next, group_gen) diff_gen = difflib.unified_diff([], []) - self.assertRaises(StopIteration, diff_gen.next) + self.assertRaises(StopIteration, next, diff_gen) def test_added_tab_hint(self): # Check fix for bug #1488943 |
