view tests/test_push_eol.py @ 921:8faa91951bb1

svnremoterepo: use and prefer default-push The svnremoterepo class can be constructed without passing it an explicit class. In this case, it previously only considered the default path as the default path to look at. This broke hg svn info when default-push is set to a svn repo but default is not. Chnange it to prefer default-push when available.
author David Schleimer <dschleimer@fb.com>
date Wed, 01 Aug 2012 13:08:56 -0700
parents 04729f3a3d17
children d741f536f23a
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)

def suite():
    all_tests = [unittest.TestLoader().loadTestsFromTestCase(TestPushEol),
          ]
    return unittest.TestSuite(all_tests)