changeset 373:9cba56c87946

All walk tests with .npath and friends also
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 13 Apr 2025 14:24:53 +0200
parents bfe1160fbfd3
children c19a21180a8f
files tests/test_walk.py
diffstat 1 files changed, 51 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test_walk.py	Sun Apr 13 14:15:33 2025 +0200
+++ b/tests/test_walk.py	Sun Apr 13 14:24:53 2025 +0200
@@ -76,14 +76,19 @@
         entry = walk.WalkDirEntry.from_path_name("tests", "_test_setup.py")
         self.assertEqual("_test_setup.py", entry.name)
         self.assertEqual("tests/_test_setup.py", entry.path)
+        self.assertEqual("tests/_test_setup.py", entry.npath)
         self.assertEqual(u"_test_setup.py", entry.uname)
         self.assertEqual(u"tests/_test_setup.py", entry.upath)
+        self.assertEqual(u"tests/_test_setup.py", entry.unpath)
         self.assertEqual(b"_test_setup.py", entry.u8name)
         self.assertEqual(b"tests/_test_setup.py", entry.u8path)
+        self.assertEqual(b"tests/_test_setup.py", entry.u8npath)
         self.assertEqual(b"_test_setup.py", entry.alt_u8name)
         self.assertEqual(b"tests/_test_setup.py", entry.alt_u8path)
+        self.assertEqual(b"tests/_test_setup.py", entry.alt_u8npath)
         self.assertEqual(b"_test_setup.py", entry.alt_fsname)
         self.assertEqual(b"tests/_test_setup.py", entry.alt_fspath)
+        self.assertEqual(b"tests/_test_setup.py", entry.alt_fsnpath)
 
     @unittest.skipIf(sys.version_info[0] < 3, "Skip on Python2")
     def test_with_surrogate_escaped_name(self):
@@ -92,18 +97,24 @@
             "tests", "test-\udcc4", _do_stat=False)
         self.assertEqual("test-\udcc4", entry.name)
         self.assertEqual("tests/test-\udcc4", entry.path)
+        self.assertEqual("tests/test-\udcc4", entry.npath)
         self.assertEqual(b"test-\xc4", entry.fsname)
         self.assertEqual(b"tests/test-\xc4", entry.fspath)
+        self.assertEqual(b"tests/test-\xc4", entry.fsnpath)
         self.assertEqual(b"test-\xc4", entry.alt_fsname)
         self.assertEqual(b"tests/test-\xc4", entry.alt_fspath)
+        self.assertEqual(b"tests/test-\xc4", entry.alt_fsnpath)        
 
         self.assertIsNone(entry.uname)
         self.assertIsNone(entry.upath)
+        self.assertIsNone(entry.unpath)        
         self.assertIsNone(entry.u8name)
         self.assertIsNone(entry.u8path)
+        self.assertIsNone(entry.u8npath)        
 
         self.assertEqual(b"test-\\udcc4", entry.alt_u8name)
         self.assertEqual(b"tests/test-\\udcc4", entry.alt_u8path)
+        self.assertEqual(b"tests/test-\\udcc4", entry.alt_u8npath)        
 
     @unittest.skipIf(sys.version_info[0] < 3, "Skip on Python2")
     def test_with_surrogate_escaped_path(self):
@@ -112,18 +123,24 @@
             "tests\udcc5", "test", _do_stat=False)
         self.assertEqual("test", entry.name)
         self.assertEqual("tests\udcc5/test", entry.path)
+        self.assertEqual("tests\udcc5/test", entry.npath)
         self.assertEqual(b"test", entry.fsname)
         self.assertEqual(b"tests\xc5/test", entry.fspath)
+        self.assertEqual(b"tests\xc5/test", entry.fsnpath)
         self.assertEqual(b"test", entry.alt_fsname)
         self.assertEqual(b"tests\xc5/test", entry.alt_fspath)
+        self.assertEqual(b"tests\xc5/test", entry.alt_fsnpath)
 
         self.assertEqual("test", entry.uname)
         self.assertIsNone(entry.upath)
+        self.assertIsNone(entry.unpath)
         self.assertEqual(b"test", entry.u8name)
         self.assertIsNone(entry.u8path)
+        self.assertIsNone(entry.u8npath)
 
         self.assertEqual(b"test", entry.alt_u8name)
         self.assertEqual(b"tests\\udcc5/test", entry.alt_u8path)
+        self.assertEqual(b"tests\\udcc5/test", entry.alt_u8npath)
 
     @unittest.skipIf(sys.version_info[0] > 2, "Skip on Python3")
     def test_py2_with_non_fsdecodable_name(self):
@@ -131,18 +148,24 @@
             b"tests", b"test-\xc4", _do_stat=False)
         self.assertEqual(b"test-\xc4", entry.name)
         self.assertEqual(b"tests/test-\xc4", entry.path)
+        self.assertEqual(b"tests/test-\xc4", entry.npath)
         self.assertIsNone(entry.fsname)
         self.assertIsNone(entry.fspath)
+        self.assertIsNone(entry.fsnpath)
         self.assertEqual(b"test-\xc4", entry.alt_fsname)
         self.assertEqual(b"tests/test-\xc4", entry.alt_fspath)
+        self.assertEqual(b"tests/test-\xc4", entry.alt_fsnpath)
 
         self.assertIsNone(entry.uname)
         self.assertIsNone(entry.upath)
+        self.assertIsNone(entry.unpath)
         self.assertIsNone(entry.u8name)
         self.assertIsNone(entry.u8path)
+        self.assertIsNone(entry.u8npath)
 
         self.assertEqual(b"test-\\udcc4", entry.alt_u8name)
         self.assertEqual(b"tests/test-\\udcc4", entry.alt_u8path)
+        self.assertEqual(b"tests/test-\\udcc4", entry.alt_u8npath)
 
     @unittest.skipIf(sys.version_info[0] > 2, "Skip on Python3")
     def test_py2_with_non_fsdecodable_path(self):
@@ -150,15 +173,20 @@
             b"tests\xc5", b"test", _do_stat=False)
         self.assertEqual(b"test", entry.name)
         self.assertEqual(b"tests\xc5/test", entry.path)
+        self.assertEqual(b"tests\xc5/test", entry.npath)
         self.assertEqual(b"test", entry.fsname)
         self.assertIsNone(entry.fspath)
+        self.assertIsNone(entry.fsnpath)
         self.assertEqual(b"test", entry.alt_fsname)
         self.assertEqual(b"tests\xc5/test", entry.alt_fspath)
+        self.assertEqual(b"tests\xc5/test", entry.alt_fsnpath)
 
         self.assertEqual(b"test", entry.uname)
         self.assertIsNone(entry.upath)
+        self.assertIsNone(entry.unpath)
         self.assertEqual(b"test", entry.u8name)
         self.assertIsNone(entry.u8path)
+        self.assertIsNone(entry.u8npath)
 
         self.assertEqual(b"test", entry.alt_u8name)
         self.assertEqual(b"tests\\udcc5/test", entry.alt_u8path)
@@ -169,18 +197,24 @@
             u"tests", u"test-\xc4", _do_stat=False)
         self.assertEqual(u"test-\xc4", entry.name)
         self.assertEqual(u"tests/test-\xc4", entry.path)
+        self.assertEqual(u"tests/test-\xc4", entry.npath)
         self.assertIsNone(entry.fsname)
         self.assertIsNone(entry.fspath)
+        self.assertIsNone(entry.fsnpath)
         self.assertEqual(b"test-\\xc4", entry.alt_fsname)
         self.assertEqual(b"tests/test-\\xc4", entry.alt_fspath)
+        self.assertEqual(b"tests/test-\\xc4", entry.alt_fsnpath)
 
         self.assertEqual(u"test-\xc4", entry.uname)
         self.assertEqual(u"tests/test-\xc4", entry.upath)
+        self.assertEqual(u"tests/test-\xc4", entry.unpath)
         self.assertEqual(b"test-\xc3\x84", entry.u8name)
         self.assertEqual(b"tests/test-\xc3\x84", entry.u8path)
+        self.assertEqual(b"tests/test-\xc3\x84", entry.u8npath)
 
         self.assertEqual(b"test-\\xc4", entry.alt_u8name)
         self.assertEqual(b"tests/test-\\xc4", entry.alt_u8path)
+        self.assertEqual(b"tests/test-\\xc4", entry.alt_u8npath)
 
     @unittest.skipIf(sys.version_info[0] > 2, "Skip on Python3")
     def test_py2_with_non_fsencodable_unicode_path(self):
@@ -188,10 +222,13 @@
             u"tests\xc5", u"test", _do_stat=False)
         self.assertEqual(u"test", entry.name)
         self.assertEqual(u"tests\xc5/test", entry.path)
+        self.assertEqual(u"tests\xc5/test", entry.npath)
         self.assertEqual(b"test", entry.fsname)
         self.assertIsNone(entry.fspath)
+        self.assertIsNone(entry.fsnpath)
         self.assertEqual(b"test", entry.alt_fsname)
         self.assertEqual(b"tests\\xc5/test", entry.alt_fspath)
+        self.assertEqual(b"tests\\xc5/test", entry.alt_fsnpath)
 
         self.assertEqual(u"test", entry.uname)
         self.assertEqual(u"tests\xc5/test", entry.upath)
@@ -214,23 +251,37 @@
         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.assertEqual(u"testdir-\r-\n-rest/testfile", entry.unpath)
         self.assertIsNone(entry.fspath)
+        self.assertIsNone(entry.fsnpath)
         self.assertIsNone(entry.u8path)
+        self.assertIsNone(entry.u8npath)
         self.assertEqual(b"testdir-\\x0d-\\x0a-rest/testfile",
                          entry.alt_fspath)
         self.assertEqual(b"testdir-\\x0d-\\x0a-rest/testfile",
+                         entry.alt_fsnpath)
+        self.assertEqual(b"testdir-\\x0d-\\x0a-rest/testfile",
                          entry.alt_u8path)
+        self.assertEqual(b"testdir-\\x0d-\\x0a-rest/testfile",
+                         entry.alt_u8npath)
 
     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.assertEqual(u"testdir-\r-\n-rest/test-\n-\r-file", entry.unpath)
         self.assertIsNone(entry.fspath)
+        self.assertIsNone(entry.fsnpath)
         self.assertIsNone(entry.u8path)
+        self.assertIsNone(entry.u8npath)
         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_fsnpath)
+        self.assertEqual(b"testdir-\\x0d-\\x0a-rest/test-\\x0a-\\x0d-file",
                          entry.alt_u8path)
+        self.assertEqual(b"testdir-\\x0d-\\x0a-rest/test-\\x0a-\\x0d-file",
+                         entry.alt_u8npath)
 
 
 # https://stackoverflow.com/questions/1854/how-to-identify-which-os-python-is-running-on/58071295#58071295