Mercurial > hgsubversion
view tests/test_push_eol.py @ 1049:608e7c8740af
tests: add a metaclass for testing obsolete mode
We use a metaclass to both make the test code more concise, and more
likely to cover all cases. Typically, someone adding a new fixes will
also add a test, and put it in a class containing similar tests. Going
forward, having that entire class automatically then duplicate its
methods for relevant modes is a plus; a similar approach for stupid
mode already found a few omissions.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Thu, 08 Aug 2013 09:25:24 +0200 |
parents | d741f536f23a |
children | 2d7398fffd0d |
line wrap: on
line source
import test_util import unittest class TestPushEol(test_util.TestBase): def setUp(self): test_util.TestBase.setUp(self) self._load_fixture_and_fetch('emptyrepo.svndump') def _test_push_dirs(self, stupid): changes = [ # Root files with LF, CRLF and mixed EOL ('lf', 'lf', 'a\nb\n\nc'), ('crlf', 'crlf', 'a\r\nb\r\n\r\nc'), ('mixed', 'mixed', 'a\r\nb\n\r\nc\nd'), ] self.commitchanges(changes) self.pushrevisions(stupid) self.assertchanges(changes, self.repo['tip']) changes = [ # Update all files once, with same EOL ('lf', 'lf', 'a\nb\n\nc\na\nb\n\nc'), ('crlf', 'crlf', 'a\r\nb\r\n\r\nc\r\na\r\nb\r\n\r\nc'), ('mixed', 'mixed', 'a\r\nb\n\r\nc\nd\r\na\r\nb\n\r\nc\nd'), ] self.commitchanges(changes) self.pushrevisions(stupid) self.assertchanges(changes, self.repo['tip']) def test_push_dirs(self): self._test_push_dirs(False) def test_push_dirs_stupid(self): self._test_push_dirs(True)