diff options
| author | Sebastian Thiel <byronimo@gmail.com> | 2016-06-14 07:38:26 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-14 07:38:26 +0200 | 
| commit | d22c40b942cca16ff9e70d879b669c97599406b7 (patch) | |
| tree | c096676b530c03d941ec7d053cbba5b65b39e556 /git/test | |
| parent | 4510b3c42b85305c95c1f39be2b9872be52c2e5e (diff) | |
| parent | 200d3c6cb436097eaee7c951a0c9921bfcb75c7f (diff) | |
| download | gitpython-d22c40b942cca16ff9e70d879b669c97599406b7.tar.gz | |
Merge pull request #467 from gitpython-developers/fix-dont-choke-on-invalid-unicode-paths
Don't choke on (legitimately) invalidly encoded Unicode paths
Diffstat (limited to 'git/test')
| -rw-r--r-- | git/test/fixtures/diff_patch_unsafe_paths | 7 | ||||
| -rw-r--r-- | git/test/test_diff.py | 13 | 
2 files changed, 14 insertions, 6 deletions
diff --git a/git/test/fixtures/diff_patch_unsafe_paths b/git/test/fixtures/diff_patch_unsafe_paths index 9ee6b834..1aad6754 100644 --- a/git/test/fixtures/diff_patch_unsafe_paths +++ b/git/test/fixtures/diff_patch_unsafe_paths @@ -68,6 +68,13 @@ index 0000000000000000000000000000000000000000..eaf5f7510320b6a327fb308379de2f94  +++ "b/path/\360\237\222\251.txt"  @@ -0,0 +1 @@  +dummy content +diff --git "a/path/\200-invalid-unicode-path.txt" "b/path/\200-invalid-unicode-path.txt" +new file mode 100644 +index 0000000000000000000000000000000000000000..eaf5f7510320b6a327fb308379de2f94d8859a54 +--- /dev/null ++++ "b/path/\200-invalid-unicode-path.txt" +@@ -0,0 +1 @@ ++dummy content  diff --git a/a/with spaces b/b/with some spaces  similarity index 100%  rename from a/with spaces diff --git a/git/test/test_diff.py b/git/test/test_diff.py index 8966351a..8d189b12 100644 --- a/git/test/test_diff.py +++ b/git/test/test_diff.py @@ -162,16 +162,17 @@ class TestDiff(TestBase):          self.assertEqual(res[7].b_path, u'path/with-question-mark?')          self.assertEqual(res[8].b_path, u'path/¯\\_(ツ)_|¯')          self.assertEqual(res[9].b_path, u'path/💩.txt') +        self.assertEqual(res[10].b_path, u'path/�-invalid-unicode-path.txt')          # The "Moves"          # NOTE: The path prefixes a/ and b/ here are legit!  We're actually          # verifying that it's not "a/a/" that shows up, see the fixture data. -        self.assertEqual(res[10].a_path, u'a/with spaces')       # NOTE: path a/ here legit! -        self.assertEqual(res[10].b_path, u'b/with some spaces')  # NOTE: path b/ here legit! -        self.assertEqual(res[11].a_path, u'a/ending in a space ') -        self.assertEqual(res[11].b_path, u'b/ending with space ') -        self.assertEqual(res[12].a_path, u'a/"with-quotes"') -        self.assertEqual(res[12].b_path, u'b/"with even more quotes"') +        self.assertEqual(res[11].a_path, u'a/with spaces')       # NOTE: path a/ here legit! +        self.assertEqual(res[11].b_path, u'b/with some spaces')  # NOTE: path b/ here legit! +        self.assertEqual(res[12].a_path, u'a/ending in a space ') +        self.assertEqual(res[12].b_path, u'b/ending with space ') +        self.assertEqual(res[13].a_path, u'a/"with-quotes"') +        self.assertEqual(res[13].b_path, u'b/"with even more quotes"')      def test_diff_patch_format(self):          # test all of the 'old' format diffs for completness - it should at least  | 
