Show More
@@ -11,7 +11,6 b'' | |||||
11 |
|
11 | |||
12 | from ..thirdparty import attr |
|
12 | from ..thirdparty import attr | |
13 | from .. import ( |
|
13 | from .. import ( | |
14 | encoding, |
|
|||
15 | error, |
|
14 | error, | |
16 | pycompat, |
|
15 | pycompat, | |
17 | util, |
|
16 | util, | |
@@ -167,13 +166,7 b' def parserequestfromenv(env, reponame=No' | |||||
167 | def tobytes(s): |
|
166 | def tobytes(s): | |
168 | if not isinstance(s, str): |
|
167 | if not isinstance(s, str): | |
169 | return s |
|
168 | return s | |
170 | if pycompat.iswindows: |
|
169 | return s.encode('iso8859-1') | |
171 | # This is what mercurial.encoding does for os.environ on |
|
|||
172 | # Windows. |
|
|||
173 | return encoding.strtolocal(s) |
|
|||
174 | else: |
|
|||
175 | # This is what is documented to be used for os.environ on Unix. |
|
|||
176 | return pycompat.fsencode(s) |
|
|||
177 |
|
170 | |||
178 | env = {tobytes(k): tobytes(v) for k, v in env.items()} |
|
171 | env = {tobytes(k): tobytes(v) for k, v in env.items()} | |
179 |
|
172 |
@@ -500,16 +500,9 b' class ParseRequestTests(unittest.TestCas' | |||||
500 | self.assertEqual(r.reponame, b'repo') |
|
500 | self.assertEqual(r.reponame, b'repo') | |
501 |
|
501 | |||
502 | def testenvencoding(self): |
|
502 | def testenvencoding(self): | |
503 | if pycompat.iswindows: |
|
503 | b = b''.join(pycompat.bytechr(i) for i in range(256)) | |
504 | # On Windows, we can't generally know which non-ASCII characters |
|
504 | r = parse(DEFAULT_ENV, extra={'foo': b.decode('iso8859-1')}) | |
505 | # are supported. |
|
505 | self.assertEqual(r.rawenv[b'foo'], b) | |
506 | r = parse(DEFAULT_ENV, extra={'foo': 'bar'}) |
|
|||
507 | self.assertEqual(r.rawenv[b'foo'], b'bar') |
|
|||
508 | else: |
|
|||
509 | # Unix is byte-based. Therefore we test all possible bytes. |
|
|||
510 | b = b''.join(pycompat.bytechr(i) for i in range(256)) |
|
|||
511 | r = parse(DEFAULT_ENV, extra={'foo': pycompat.fsdecode(b)}) |
|
|||
512 | self.assertEqual(r.rawenv[b'foo'], b) |
|
|||
513 |
|
506 | |||
514 |
|
507 | |||
515 | if __name__ == '__main__': |
|
508 | if __name__ == '__main__': |
General Comments 0
You need to be logged in to leave comments.
Login now