aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_pathlib/test_pathlib_abc.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_pathlib/test_pathlib_abc.py')
-rw-r--r--Lib/test/test_pathlib/test_pathlib_abc.py56
1 files changed, 54 insertions, 2 deletions
diff --git a/Lib/test/test_pathlib/test_pathlib_abc.py b/Lib/test/test_pathlib/test_pathlib_abc.py
index 14df1e69db1..c3c568c296e 100644
--- a/Lib/test/test_pathlib/test_pathlib_abc.py
+++ b/Lib/test/test_pathlib/test_pathlib_abc.py
@@ -5,7 +5,7 @@ import errno
import stat
import unittest
-from pathlib._abc import UnsupportedOperation, PurePathBase, PathBase
+from pathlib._abc import UnsupportedOperation, PathModuleBase, PurePathBase, PathBase
import posixpath
from test.support.os_helper import TESTFN
@@ -17,6 +17,20 @@ class UnsupportedOperationTest(unittest.TestCase):
self.assertTrue(isinstance(UnsupportedOperation(), NotImplementedError))
+class PathModuleBaseTest(unittest.TestCase):
+ cls = PathModuleBase
+
+ def test_unsupported_operation(self):
+ m = self.cls()
+ e = UnsupportedOperation
+ with self.assertRaises(e):
+ m.sep
+ self.assertRaises(e, m.join, 'foo')
+ self.assertRaises(e, m.split, 'foo')
+ self.assertRaises(e, m.splitroot, 'foo')
+ self.assertRaises(e, m.normcase, 'foo')
+ self.assertRaises(e, m.isabs, 'foo')
+
#
# Tests for the pure classes.
#
@@ -25,6 +39,42 @@ class UnsupportedOperationTest(unittest.TestCase):
class PurePathBaseTest(unittest.TestCase):
cls = PurePathBase
+ def test_unsupported_operation_pure(self):
+ p = self.cls('foo')
+ e = UnsupportedOperation
+ with self.assertRaises(e):
+ p.drive
+ with self.assertRaises(e):
+ p.root
+ with self.assertRaises(e):
+ p.anchor
+ with self.assertRaises(e):
+ p.parts
+ with self.assertRaises(e):
+ p.parent
+ with self.assertRaises(e):
+ p.parents
+ with self.assertRaises(e):
+ p.name
+ with self.assertRaises(e):
+ p.stem
+ with self.assertRaises(e):
+ p.suffix
+ with self.assertRaises(e):
+ p.suffixes
+ with self.assertRaises(e):
+ p / 'bar'
+ with self.assertRaises(e):
+ 'bar' / p
+ self.assertRaises(e, p.joinpath, 'bar')
+ self.assertRaises(e, p.with_name, 'bar')
+ self.assertRaises(e, p.with_stem, 'bar')
+ self.assertRaises(e, p.with_suffix, '.txt')
+ self.assertRaises(e, p.relative_to, '')
+ self.assertRaises(e, p.is_relative_to, '')
+ self.assertRaises(e, p.is_absolute)
+ self.assertRaises(e, p.match, '*')
+
def test_magic_methods(self):
P = self.cls
self.assertFalse(hasattr(P, '__fspath__'))
@@ -39,11 +89,12 @@ class PurePathBaseTest(unittest.TestCase):
self.assertIs(P.__ge__, object.__ge__)
def test_pathmod(self):
- self.assertIs(self.cls.pathmod, posixpath)
+ self.assertIsInstance(self.cls.pathmod, PathModuleBase)
class DummyPurePath(PurePathBase):
__slots__ = ()
+ pathmod = posixpath
def __eq__(self, other):
if not isinstance(other, DummyPurePath):
@@ -669,6 +720,7 @@ class DummyPath(PathBase):
memory.
"""
__slots__ = ()
+ pathmod = posixpath
_files = {}
_directories = {}