summaryrefslogtreecommitdiff
path: root/tests/test_exporter.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_exporter.py')
-rw-r--r--tests/test_exporter.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_exporter.py b/tests/test_exporter.py
index c2a8442..f1c9530 100644
--- a/tests/test_exporter.py
+++ b/tests/test_exporter.py
@@ -24,6 +24,7 @@ from bzrlib import tests
from bzrlib.plugins.fastimport.exporter import (
_get_output_stream,
check_ref_format,
+ sanitize_ref_name_for_git
)
from bzrlib.plugins.fastimport.tests import (
@@ -79,11 +80,45 @@ class CheckRefFormatTests(tests.TestCase):
def test_invalid(self):
self.assertFalse(check_ref_format('foo'))
+ self.assertFalse(check_ref_format('foo/.bar'))
self.assertFalse(check_ref_format('heads/foo/'))
+ self.assertFalse(check_ref_format('heads/foo.'))
self.assertFalse(check_ref_format('./foo'))
self.assertFalse(check_ref_format('.refs/foo'))
self.assertFalse(check_ref_format('heads/foo..bar'))
self.assertFalse(check_ref_format('heads/foo?bar'))
self.assertFalse(check_ref_format('heads/foo.lock'))
self.assertFalse(check_ref_format('heads/v@{ation'))
+ self.assertFalse(check_ref_format('heads/foo\\bar'))
self.assertFalse(check_ref_format('heads/foo\bar'))
+ self.assertFalse(check_ref_format('heads/foo bar'))
+ self.assertFalse(check_ref_format('heads/foo\020bar'))
+ self.assertFalse(check_ref_format('heads/foo\177bar'))
+
+
+class CheckRefnameRewriting(tests.TestCase):
+ """Tests for sanitize_ref_name_for_git function"""
+
+ def test_passthrough_valid(self):
+ self.assertEqual(sanitize_ref_name_for_git('heads/foo'), 'heads/foo')
+ self.assertEqual(sanitize_ref_name_for_git('foo/bar/baz'), 'foo/bar/baz')
+ self.assertEqual(sanitize_ref_name_for_git('refs///heads/foo'), 'refs///heads/foo')
+ self.assertEqual(sanitize_ref_name_for_git('foo./bar'), 'foo./bar')
+ self.assertEqual(sanitize_ref_name_for_git('heads/foo@bar'), 'heads/foo@bar')
+ self.assertEqual(sanitize_ref_name_for_git('heads/fix.lock.error'), 'heads/fix.lock.error')
+
+ def test_rewrite_invalid(self):
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('foo./bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo/')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo.')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('./foo')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('.refs/foo')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo..bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo?bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo.lock')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/v@{ation')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo\bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo\\bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo\020bar')))
+ self.assertTrue(check_ref_format(sanitize_ref_name_for_git('heads/foo\177bar')))