[Zope-Checkins] CVS: Zope/lib/python/OFS/tests - mime.types-1:1.1
mime.types-2:1.1 testContentTypes.py:1.1
Fred Drake
cvs-admin at zope.org
Fri Oct 31 11:40:10 EST 2003
Update of /cvs-repository/Zope/lib/python/OFS/tests
In directory cvs.zope.org:/tmp/cvs-serv1104/lib/python/OFS/tests
Added Files:
mime.types-1 mime.types-2 testContentTypes.py
Log Message:
add tests for the OFS.content_types changes to support the "mime-types"
configuration setting
=== Added File Zope/lib/python/OFS/tests/mime.types-1 ===
# This is a sample mime.types file.
# It contains a single bogus MIME type and extention for testing
# purposes. It is not loaded during normal Zope operation.
text/x-vnd.zope.test-mime-type-1 ztmt-1
=== Added File Zope/lib/python/OFS/tests/mime.types-2 ===
# This is a sample mime.types file.
# It contains a single bogus MIME type and extention for testing
# purposes. It is not loaded during normal Zope operation.
text/x-vnd.zope.test-mime-type-2 ztmt-2
=== Added File Zope/lib/python/OFS/tests/testContentTypes.py ===
##############################################################################
#
# Copyright (c) 2003 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Tests of the content_types extension mechanism.
$Id: testContentTypes.py,v 1.1 2003/10/31 16:40:09 fdrake Exp $
"""
import mimetypes
import os.path
import sys
import unittest
from OFS import content_types
try:
__file__
except NameError:
__file__ = os.path.realpath(sys.argv[0])
here = os.path.dirname(os.path.abspath(__file__))
MIME_TYPES_1 = os.path.join(here, "mime.types-1")
MIME_TYPES_2 = MIME_TYPES_1[:-1] + "2"
class ContentTypesTestCase(unittest.TestCase):
def setUp(self):
self._old_state = mimetypes.__dict__.copy()
def tearDown(self):
mimetypes.__dict__.update(self._old_state)
def check_types_count(self, delta):
self.assertEqual(len(mimetypes.types_map),
len(self._old_state["types_map"]) + delta)
def test_add_one_file(self):
ntypes = len(mimetypes.types_map)
content_types.add_files([MIME_TYPES_1])
ctype, encoding = content_types.guess_content_type("foo.ztmt-1")
self.assert_(encoding is None)
self.assertEqual(ctype, "text/x-vnd.zope.test-mime-type-1")
ctype, encoding = content_types.guess_content_type("foo.ztmt-1.gz")
self.assertEqual(encoding, "gzip")
self.assertEqual(ctype, "text/x-vnd.zope.test-mime-type-1")
self.check_types_count(1)
def test_add_two_files(self):
ntypes = len(mimetypes.types_map)
content_types.add_files([MIME_TYPES_1, MIME_TYPES_2])
ctype, encoding = content_types.guess_content_type("foo.ztmt-1")
self.assert_(encoding is None)
self.assertEqual(ctype, "text/x-vnd.zope.test-mime-type-1")
ctype, encoding = content_types.guess_content_type("foo.ztmt-2")
self.assert_(encoding is None)
self.assertEqual(ctype, "text/x-vnd.zope.test-mime-type-2")
self.check_types_count(2)
def test_suite():
return unittest.makeSuite(ContentTypesTestCase)
if __name__ == '__main__':
unittest.main()
More information about the Zope-Checkins
mailing list