[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