tests/test-mdiff.py
author Simon Sapin <simon.sapin@octobus.net>
Thu, 08 Jul 2021 12:18:21 +0200
changeset 47674 ff97e793ed36
parent 43076 2372284d9457
child 48966 6000f5b25c9b
permissions -rw-r--r--
dirstate-v2: Introduce a docket file .hg/dirstate now only contains some metadata to point to a separate data file named .hg/dirstate.{}.d with a random hexadecimal identifier. For now every update creates a new data file and removes the old one, but later we’ll (usually) append to an existing file. Separating into two files allows doing the "write to a temporary file then atomically rename into destination" dance with only a small docket file, without always rewriting a lot of data. Differential Revision: https://phab.mercurial-scm.org/D11088

from __future__ import absolute_import
from __future__ import print_function

import unittest

from mercurial import mdiff


class splitnewlinesTests(unittest.TestCase):
    def test_splitnewlines(self):
        cases = {
            b'a\nb\nc\n': [b'a\n', b'b\n', b'c\n'],
            b'a\nb\nc': [b'a\n', b'b\n', b'c'],
            b'a\nb\nc\n\n': [b'a\n', b'b\n', b'c\n', b'\n'],
            b'': [],
            b'abcabc': [b'abcabc'],
        }
        for inp, want in cases.items():
            self.assertEqual(mdiff.splitnewlines(inp), want)


if __name__ == '__main__':
    import silenttestrunner

    silenttestrunner.main(__name__)