def test_identity(self): # assert fsdecode(fsencode(x)) == x for fn in ('unicode\u0141', 'latin\xe9', 'ascii'): try: bytesfn = os.fsencode(fn) except UnicodeEncodeError: continue self.assertEqual(os.fsdecode(bytesfn), fn)
def test_identity(self): # assert fsdecode(fsencode(x)) == x for fn in ('unicode\u0141', 'latin\xe9', 'ascii'): try: bytesfn = os.fsencode(fn) except UnicodeEncodeError: continue # XXX backport: Ignore bug in future.utils.surrogateescape.replace_surrogate_encode() # by treating the below NameError like the above UnicodeEncodeError. # # Bug: https://github.com/PythonCharmers/python-future/issues/256 # (This workaround can be removed once that is fixed.) except NameError as e: # pragma: no cover if e.message == "global name 'exc' is not defined": continue else: raise self.assertEqual(os.fsdecode(bytesfn), fn)
def test_encode_text(self, s): self.assertEqual(os.fsencode(s), real_os.fsencode(s))
def test_binary_roundtrip(self, b): self.assertEqual(os.fsencode(os.fsdecode(b)), b)
def test_text_roundtrip(self, s): self.assertEqual(os.fsdecode(os.fsencode(s)), s)
def test_encode_surrogates(self): """ Explicitly encode all the high byte surrogates to bytes. """ self.assertEqual(os.fsencode(HIGH_SURROGATES), HIGH_BYTES)
def test_encode_binary(self, b): self.assertEqual(os.fsencode(b), real_os.fsencode(b))
def test_nop(self): self.assertEqual(os.fsencode(b'abc\xff'), b'abc\xff') self.assertEqual(os.fsdecode('abc\u0141'), 'abc\u0141')