[Checkins] SVN: zope.browserresource/trunk/src/zope/browserresource/ Improve test coverage.

Dan Korostelev nadako at gmail.com
Tue Aug 25 07:48:42 EDT 2009


Log message for revision 103196:
  Improve test coverage.
  Don't use has_key method.

Changed:
  U   zope.browserresource/trunk/src/zope/browserresource/file.py
  U   zope.browserresource/trunk/src/zope/browserresource/i18nfile.py
  U   zope.browserresource/trunk/src/zope/browserresource/metaconfigure.py
  U   zope.browserresource/trunk/src/zope/browserresource/tests/test_i18nfile.py

-=-
Modified: zope.browserresource/trunk/src/zope/browserresource/file.py
===================================================================
--- zope.browserresource/trunk/src/zope/browserresource/file.py	2009-08-25 11:25:04 UTC (rev 103195)
+++ zope.browserresource/trunk/src/zope/browserresource/file.py	2009-08-25 11:48:42 UTC (rev 103196)
@@ -113,7 +113,36 @@
           True
           >>> request.response.getHeader('Content-Type') == 'text/plain'
           True
+        
+        Let's test If-Modified-Since header support.
 
+          >>> timestamp = time.time()
+        
+          >>> file = factory._FileResourceFactory__file # get mangled file
+          >>> file.lmt = timestamp
+          >>> file.lmh = formatdate(timestamp, usegmt=True)
+
+          >>> before = timestamp - 1000
+          >>> request = TestRequest(HTTP_IF_MODIFIED_SINCE=formatdate(before, usegmt=True))
+          >>> resource = factory(request)
+          >>> bool(resource.GET())
+          True
+
+          >>> after = timestamp + 1000
+          >>> request = TestRequest(HTTP_IF_MODIFIED_SINCE=formatdate(after, usegmt=True))
+          >>> resource = factory(request)
+          >>> bool(resource.GET())
+          False
+          >>> request.response.getStatus()
+          304
+
+        It won't fail on bad If-Modified-Since headers.
+
+          >>> request = TestRequest(HTTP_IF_MODIFIED_SINCE='bad header')
+          >>> resource = factory(request)
+          >>> bool(resource.GET())
+          True
+
         '''
 
         file = self.chooseContext()
@@ -142,7 +171,7 @@
                 if getattr(file, 'lmt', None):
                     last_mod = long(file.lmt)
                 else:
-                    last_mod = long(0)
+                    last_mod = 0L
                 if last_mod > 0 and last_mod <= mod_since:
                     response.setStatus(304)
                     return ''

Modified: zope.browserresource/trunk/src/zope/browserresource/i18nfile.py
===================================================================
--- zope.browserresource/trunk/src/zope/browserresource/i18nfile.py	2009-08-25 11:25:04 UTC (rev 103195)
+++ zope.browserresource/trunk/src/zope/browserresource/i18nfile.py	2009-08-25 11:48:42 UTC (rev 103196)
@@ -51,7 +51,7 @@
 
     def setDefaultLanguage(self, language):
         'See II18nAware'
-        if not self._data.has_key(language):
+        if language not in self._data:
             raise ValueError(
                   'cannot set nonexistent language (%s) as default' % language)
         self.defaultLanguage = language

Modified: zope.browserresource/trunk/src/zope/browserresource/metaconfigure.py
===================================================================
--- zope.browserresource/trunk/src/zope/browserresource/metaconfigure.py	2009-08-25 11:25:04 UTC (rev 103195)
+++ zope.browserresource/trunk/src/zope/browserresource/metaconfigure.py	2009-08-25 11:48:42 UTC (rev 103196)
@@ -220,7 +220,7 @@
         if self.name is None:
             return
 
-        if not self.__data.has_key(self.defaultLanguage):
+        if self.defaultLanguage not in self.__data:
             raise ConfigurationError(
                 "A translation for the default language (%s) "
                 "must be specified" % self.defaultLanguage

Modified: zope.browserresource/trunk/src/zope/browserresource/tests/test_i18nfile.py
===================================================================
--- zope.browserresource/trunk/src/zope/browserresource/tests/test_i18nfile.py	2009-08-25 11:25:04 UTC (rev 103195)
+++ zope.browserresource/trunk/src/zope/browserresource/tests/test_i18nfile.py	2009-08-25 11:48:42 UTC (rev 103196)
@@ -57,6 +57,9 @@
                                TestRequest(), 'fr')
         return obj
 
+    def test_setDefaultLanguage(self):
+        ob = self._createObject()
+        self.assertRaises(ValueError, ob.setDefaultLanguage, 'ru')
 
     def _createDict(self, filename1='test.pt', filename2='test2.pt'):
         path1 = os.path.join(test_directory, 'testfiles', filename1)



More information about the Checkins mailing list