Mercurial > hgrepos > Python > apps > py-cutils
changeset 289:79deb10bbe0a
Add some new unittests for special chars (CR/LF) in paths
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 24 Feb 2025 02:53:58 +0100 |
| parents | 57102b9d7ec9 |
| children | 3c3f8151f36a |
| files | tests/test_walk.py |
| diffstat | 1 files changed, 31 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test_walk.py Mon Feb 24 02:19:26 2025 +0100 +++ b/tests/test_walk.py Mon Feb 24 02:53:58 2025 +0100 @@ -197,6 +197,37 @@ self.assertEqual(b"test", entry.alt_u8name) self.assertEqual(b"tests\\xc5/test", entry.alt_u8path) + def test_special_chars_name(self): + entry = walk.WalkDirEntry.from_path_name( + "testdir", "test\r-\n-\\rest", _do_stat=False) + self.assertEqual(u"test\r-\n-\\rest", entry.uname) + self.assertIsNone(entry.fsname) + self.assertIsNone(entry.u8name) + self.assertEqual(b"test\\x0d-\\x0a-\\x5crest", entry.alt_fsname) + self.assertEqual(b"test\\x0d-\\x0a-\\x5crest", entry.alt_u8name) + + def test_special_chars_path(self): + entry = walk.WalkDirEntry.from_path_name( + "testdir-\r-\n-rest", "testfile", _do_stat=False) + self.assertEqual(u"testdir-\r-\n-rest/testfile", entry.upath) + self.assertIsNone(entry.fspath) + self.assertIsNone(entry.u8path) + self.assertEqual(b"testdir-\\x0d-\\x0a-rest/testfile", + entry.alt_fspath) + self.assertEqual(b"testdir-\\x0d-\\x0a-rest/testfile", + entry.alt_u8path) + + def test_special_chars_fullpath(self): + entry = walk.WalkDirEntry.from_path_name( + "testdir-\r-\n-rest", "test-\n-\r-file", _do_stat=False) + self.assertEqual(u"testdir-\r-\n-rest/test-\n-\r-file", entry.upath) + self.assertIsNone(entry.fspath) + self.assertIsNone(entry.u8path) + self.assertEqual(b"testdir-\\x0d-\\x0a-rest/test-\\x0a-\\x0d-file", + entry.alt_fspath) + self.assertEqual(b"testdir-\\x0d-\\x0a-rest/test-\\x0a-\\x0d-file", + entry.alt_u8path) + # https://stackoverflow.com/questions/1854/how-to-identify-which-os-python-is-running-on/58071295#58071295 @unittest.skipIf(
