def test_single(self): tree = DataTree(dict) tree['single/leaf'].update({'class': 'good'}) view = DiffView() self.assertListEqual( view.tree_data(tree), [ ('single/leaf', {'children': [], 'value': {'class': 'good'}}), ])
def test_two_distinct(self): tree = DataTree(dict) tree['single/leaf'].update({'class': 'good'}) tree['other/trunk'].update({'class': 'better'}) view = DiffView() self.assertListEqual( view.tree_data(tree), [ ('other/trunk', {'children': [], 'value': {'class': 'better'}}), ('single/leaf', {'children': [], 'value': {'class': 'good'}}), ])
def test_repo_interactions(self): '''Let's just use a single test method for all our hg interactions, to reuse the hg repo fixture. ''' dbrepo = self.dbrepo(changesets_from=hglib.open(self.repo)) view = DiffView() view.getrepo(dbrepo.name) # add paths = view.paths4revs('0', '1') self.assertListEqual( paths, [('f.ftl', 'added')]) self.assertDictEqual(view.moved, {}) self.assertDictEqual(view.copied, {}) # modified paths = view.paths4revs('1', '2') self.assertListEqual( paths, [('f.ftl', 'changed')]) self.assertDictEqual(view.moved, {}) self.assertDictEqual(view.copied, {}) # copy paths = view.paths4revs('2', '3') self.assertListEqual( paths, [('copied.ftl', 'copied')]) self.assertDictEqual(view.moved, {}) self.assertDictEqual( view.copied, {'copied.ftl': 'f.ftl'}) # move paths = view.paths4revs('3', '4') self.assertListEqual( paths, [('moved.ftl', 'moved')]) self.assertDictEqual( view.moved, {'moved.ftl': 'f.ftl'}) self.assertDictEqual(view.copied, {}) # remove paths = view.paths4revs('4', '5') self.assertListEqual( paths, [('copied.ftl', 'removed')]) self.assertDictEqual(view.moved, {}) self.assertDictEqual(view.copied, {}) # test tip and default (tip is default, not tip, really) self.assertEqual(view.real_rev('5'), view.real_rev('tip')) self.assertEqual(view.real_rev('5'), view.real_rev('default')) # test fork, just one of the code paths fork = self.dbrepo(name='fork') fork.fork_of = dbrepo fork.save() view.getrepo(fork.name) paths = view.paths4revs('0', '1') self.assertListEqual( paths, [('f.ftl', 'added')]) self.assertDictEqual(view.moved, {}) self.assertDictEqual(view.copied, {}) # test revision lookup errors with self.assertRaises(BadRevision) as bad_rev_cm: view.paths4revs('iiii', '0') self.assertEqual( six.text_type(bad_rev_cm.exception), "Unrecognized 'from' parameter") with self.assertRaises(BadRevision) as bad_rev_cm: view.paths4revs('0', 'jjjj') self.assertEqual( six.text_type(bad_rev_cm.exception), "Unrecognized 'to' parameter") # test content retrieval from hg self.assertEqual( view.content('f.ftl', '1'), b'message = text\n') self.assertEqual( view.content('f.ftl', '2'), b'message = othertext\n')