summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-05-11 15:05:13 (GMT)
committerGeorg Brandl <georg@python.org>2008-05-11 15:05:13 (GMT)
commit6a57c08dc828ff8512c047c97e7c7edfb0abbc74 (patch)
tree74e089debd39df01c79b57352dee0a05b57dae50 /Lib
parentae98f50eca5c5fbae6ae9ba390c5ed8729489b00 (diff)
downloadcpython-6a57c08dc828ff8512c047c97e7c7edfb0abbc74.zip
cpython-6a57c08dc828ff8512c047c97e7c7edfb0abbc74.tar.gz
cpython-6a57c08dc828ff8512c047c97e7c7edfb0abbc74.tar.bz2
#1326: document and test zipimporter.archive and zipimporter.prefix.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_zipimport.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py
index 7ce0cf4..205853d 100644
--- a/Lib/test/test_zipimport.py
+++ b/Lib/test/test_zipimport.py
@@ -212,6 +212,7 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
z.close()
zi = zipimport.zipimporter(TEMP_ZIP)
+ self.assertEquals(zi.archive, TEMP_ZIP)
self.assertEquals(zi.is_package(TESTPACK), True)
zi.load_module(TESTPACK)
@@ -232,6 +233,37 @@ class UncompressedZipImportTestCase(ImportHooksBaseTestCase):
z.close()
os.remove(TEMP_ZIP)
+ def testZipImporterMethodsInSubDirectory(self):
+ packdir = TESTPACK + os.sep
+ packdir2 = packdir + TESTPACK2 + os.sep
+ files = {packdir2 + "__init__" + pyc_ext: (NOW, test_pyc),
+ packdir2 + TESTMOD + pyc_ext: (NOW, test_pyc)}
+
+ z = ZipFile(TEMP_ZIP, "w")
+ try:
+ for name, (mtime, data) in files.items():
+ zinfo = ZipInfo(name, time.localtime(mtime))
+ zinfo.compress_type = self.compression
+ z.writestr(zinfo, data)
+ z.close()
+
+ zi = zipimport.zipimporter(TEMP_ZIP + os.sep + packdir)
+ self.assertEquals(zi.archive, TEMP_ZIP)
+ self.assertEquals(zi.prefix, packdir)
+ self.assertEquals(zi.is_package(TESTPACK2), True)
+ zi.load_module(TESTPACK2)
+
+ self.assertEquals(zi.is_package(TESTPACK2 + os.sep + '__init__'), False)
+ self.assertEquals(zi.is_package(TESTPACK2 + os.sep + TESTMOD), False)
+
+ mod_name = TESTPACK2 + os.sep + TESTMOD
+ mod = __import__(module_path_to_dotted_name(mod_name))
+ self.assertEquals(zi.get_source(TESTPACK2), None)
+ self.assertEquals(zi.get_source(mod_name), None)
+ finally:
+ z.close()
+ os.remove(TEMP_ZIP)
+
def testGetData(self):
z = ZipFile(TEMP_ZIP, "w")
z.compression = self.compression