Mercurial > hgsubversion
annotate tests/test_binaryfiles.py @ 904:b6b1365e3489
canonicalize svn paths even more awesomely
It turns out that SVN has bizarre path canonicalization rules that
are sort of close to what urllib.quote does, but different in
peculiar ways, and 1.7 suddenly cares deeply about canonicality.
For instance, space (' ') maps to %20, but '~' stays unchanged
instead of turning into %7e.
Along with its new policy of frequent beatings administered to users
of its bindings, SVN 1.7 introduces a function that idempotently
canonicalizes URIs, which I found sort of by accident, because
that's how you learn about SVN API changes.
Older versions of SVN are less anal, so urllib.quote continues to
work fine for them.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Mon, 14 May 2012 01:13:07 +0200 |
parents | 312b37bc5e20 |
children | d741f536f23a |
rev | line source |
---|---|
169
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 import test_util |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
643
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
195
diff
changeset
|
3 import unittest |
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
195
diff
changeset
|
4 |
169
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 class TestFetchBinaryFiles(test_util.TestBase): |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 def test_binaryfiles(self, stupid=False): |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 repo = self._load_fixture_and_fetch('binaryfiles.svndump', stupid=stupid) |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 self.assertEqual('cce7fe400d8d', str(repo['tip'])) |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 def test_binaryfiles_stupid(self): |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 self.test_binaryfiles(True) |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 |
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
13 def suite(): |
833
312b37bc5e20
tests: avoid shadowing Python builtin all()
Yonggang Luo <luoyonggang@gmail.com>
parents:
643
diff
changeset
|
14 all_tests = [unittest.TestLoader().loadTestsFromTestCase(TestFetchBinaryFiles), |
169
f1919e1c35bf
fetch_command: cancel patching when encountering binary diffs
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 ] |
833
312b37bc5e20
tests: avoid shadowing Python builtin all()
Yonggang Luo <luoyonggang@gmail.com>
parents:
643
diff
changeset
|
16 return unittest.TestSuite(all_tests) |