[3.10] bpo-43643: Sync with python/importlib_resources@c17a610aad. (GH-26284) (GH-26286)



* [bpo-43643](): Sync with python/importlib_resources@c17a610aad.
* Sync with python/importlib_resources@89fd5e961a.
(cherry picked from commit 875b3d84b3072b2d3c352ad9f0ff52c441fbd12e)


Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>

Automerge-Triggered-By: GH:jaraco
diff --git a/Lib/importlib/_common.py b/Lib/importlib/_common.py
index 0338304..ed50997 100644
--- a/Lib/importlib/_common.py
+++ b/Lib/importlib/_common.py
@@ -7,7 +7,7 @@
 import importlib
 
 from typing import Union, Any, Optional
-from .abc import ResourceReader
+from .abc import ResourceReader, Traversable
 
 from ._adapters import wrap_spec
 
@@ -15,6 +15,7 @@
 
 
 def files(package):
+    # type: (Package) -> Traversable
     """
     Get a Traversable resource from a package
     """
diff --git a/Lib/importlib/readers.py b/Lib/importlib/readers.py
index 535c828..3e91c1c 100644
--- a/Lib/importlib/readers.py
+++ b/Lib/importlib/readers.py
@@ -96,6 +96,7 @@ def joinpath(self, child):
     def open(self, *args, **kwargs):
         raise FileNotFoundError('{} is not a file'.format(self))
 
+    @property
     def name(self):
         return self._paths[0].name
 
diff --git a/Lib/test/test_importlib/test_reader.py b/Lib/test/test_importlib/test_reader.py
index b0bf49b..ed1f6be 100644
--- a/Lib/test/test_importlib/test_reader.py
+++ b/Lib/test/test_importlib/test_reader.py
@@ -82,6 +82,12 @@ def test_repr(self):
             "MultiplexedPath('{}')".format(self.folder),
         )
 
+    def test_name(self):
+        self.assertEqual(
+            MultiplexedPath(self.folder).name,
+            os.path.basename(self.folder),
+        )
+
 
 class NamespaceReaderTest(unittest.TestCase):
     site_dir = str(pathlib.Path(__file__).parent)
diff --git a/Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst b/Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst
new file mode 100644
index 0000000..57157df
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-05-21-12-12-35.bpo-43643.GWnmcF.rst
@@ -0,0 +1 @@
+Declare readers.MultiplexedPath.name as a property per the spec.