annotate tests/test-mdiff.py @ 39855:62a532045e71

lfs: access revlog directly LFS is monkeypatching filelog.filelog and is then accessing various filelog attributes in the monkeypatched function. This is all fine. But some of the attributes being accessed by LFS are revlog centric and shouldn't be exposed on the file storage interface. This commit changes the monkeypatched functions to access proxied attributes on self._revlog instead of self. This should be safe to do because non-revlog repositories should not be using filelog instances: instead they should have a separate class to represent file storage. So it is reasonable for LFS to assume the _revlog attribute exists and points to a revlog. Differential Revision: https://phab.mercurial-scm.org/D4714
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 20 Sep 2018 17:47:34 -0700
parents 8d0b0b533e09
children 2372284d9457
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35862
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
1 from __future__ import absolute_import
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
2 from __future__ import print_function
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
3
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
4 import unittest
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
5
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
6 from mercurial import (
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
7 mdiff,
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
8 )
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
9
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
10 class splitnewlinesTests(unittest.TestCase):
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
11
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
12 def test_splitnewlines(self):
36328
8d0b0b533e09 py3: add b'' prefixes in test-mdiff.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36327
diff changeset
13 cases = {b'a\nb\nc\n': [b'a\n', b'b\n', b'c\n'],
8d0b0b533e09 py3: add b'' prefixes in test-mdiff.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36327
diff changeset
14 b'a\nb\nc': [b'a\n', b'b\n', b'c'],
8d0b0b533e09 py3: add b'' prefixes in test-mdiff.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36327
diff changeset
15 b'a\nb\nc\n\n': [b'a\n', b'b\n', b'c\n', b'\n'],
8d0b0b533e09 py3: add b'' prefixes in test-mdiff.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36327
diff changeset
16 b'': [],
8d0b0b533e09 py3: add b'' prefixes in test-mdiff.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36327
diff changeset
17 b'abcabc': [b'abcabc'],
35862
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
18 }
36327
58c1368ab629 py3: use dict.items() instead of dict.iteritems() in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35862
diff changeset
19 for inp, want in cases.items():
35862
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
20 self.assertEqual(mdiff.splitnewlines(inp), want)
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
21
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
22 if __name__ == '__main__':
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
23 import silenttestrunner
1ab7b16c9437 tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff changeset
24 silenttestrunner.main(__name__)