[Checkins] SVN: zope.app.dtmlpage/trunk/ * Get ready for 3.4.0 release.

Stephan Richter srichter at cosmos.phy.tufts.edu
Tue Oct 23 23:20:13 EDT 2007


Log message for revision 81021:
  * Get ready for 3.4.0 release.
  
  * Fixed deprecation warning.
  
  * Moved functinal tests from ftests.py to tests/test_functional.py
  
  

Changed:
  A   zope.app.dtmlpage/trunk/CHANGES.txt
  U   zope.app.dtmlpage/trunk/README.txt
  U   zope.app.dtmlpage/trunk/buildout.cfg
  D   zope.app.dtmlpage/trunk/setup.cfg
  U   zope.app.dtmlpage/trunk/setup.py
  _U  zope.app.dtmlpage/trunk/src/
  D   zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/ftests.py
  U   zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/interfaces.py
  A   zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/tests/test_functional.py

-=-
Added: zope.app.dtmlpage/trunk/CHANGES.txt
===================================================================
--- zope.app.dtmlpage/trunk/CHANGES.txt	                        (rev 0)
+++ zope.app.dtmlpage/trunk/CHANGES.txt	2007-10-24 03:20:07 UTC (rev 81021)
@@ -0,0 +1,8 @@
+=======
+CHANGES
+=======
+
+3.4.0 (2007-10-23)
+------------------
+
+- Initial release independent of the main Zope tree.


Property changes on: zope.app.dtmlpage/trunk/CHANGES.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: zope.app.dtmlpage/trunk/README.txt
===================================================================
--- zope.app.dtmlpage/trunk/README.txt	2007-10-24 02:40:57 UTC (rev 81020)
+++ zope.app.dtmlpage/trunk/README.txt	2007-10-24 03:20:07 UTC (rev 81021)
@@ -1,4 +1,2 @@
-zope.app.dtmlpage
-===============
-
-See, src/zope/app/dtmlpage/README.txt 
+This package provides a Zope 3 content component that contains DTML code,
+which is executed when the component is accessed via its URL.

Modified: zope.app.dtmlpage/trunk/buildout.cfg
===================================================================
--- zope.app.dtmlpage/trunk/buildout.cfg	2007-10-24 02:40:57 UTC (rev 81020)
+++ zope.app.dtmlpage/trunk/buildout.cfg	2007-10-24 03:20:07 UTC (rev 81021)
@@ -1,9 +1,7 @@
 [buildout]
 develop = .
 parts = test
-find-links = http://download.zope.org/distribution/
 
 [test]
 recipe = zc.recipe.testrunner
-defaults = ['--tests-pattern', '^f?tests$']
 eggs = zope.app.dtmlpage [test]

Deleted: zope.app.dtmlpage/trunk/setup.cfg
===================================================================
--- zope.app.dtmlpage/trunk/setup.cfg	2007-10-24 02:40:57 UTC (rev 81020)
+++ zope.app.dtmlpage/trunk/setup.cfg	2007-10-24 03:20:07 UTC (rev 81021)
@@ -1,2 +0,0 @@
-[egg_info]
-tag_svn_revision = 1
\ No newline at end of file

Modified: zope.app.dtmlpage/trunk/setup.py
===================================================================
--- zope.app.dtmlpage/trunk/setup.py	2007-10-24 02:40:57 UTC (rev 81020)
+++ zope.app.dtmlpage/trunk/setup.py	2007-10-24 03:20:07 UTC (rev 81021)
@@ -15,24 +15,42 @@
 
 $Id$
 """
-
 import os
-
 from setuptools import setup, find_packages
 
+def read(*rnames):
+    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
 setup(name = 'zope.app.dtmlpage',
-      version = '3.4.0b1',
-      url = 'http://svn.zope.org/zope.app.dtmlpage',
-      license = 'ZPL 2.1',
-      description = 'Zope app.dtmlpage',
-      author = 'Zope Corporation and Contributors',
-      author_email = 'zope3-dev at zope.org',
-      long_description = "",
-
-      packages = find_packages('src'),
+      version = '3.4.0',
+      author='Zope Corporation and Contributors',
+      author_email='zope3-dev at zope.org',
+      description='DTML Page -- A Zope 3 Content Component',
+      long_description=(
+          read('README.txt')
+          + '\n\n' +
+          read('CHANGES.txt')
+          ),
+      keywords = "zope3 dtml page",
+      classifiers = [
+          'Development Status :: 5 - Production/Stable',
+          'Environment :: Web Environment',
+          'Intended Audience :: Developers',
+          'License :: OSI Approved :: Zope Public License',
+          'Programming Language :: Python',
+          'Natural Language :: English',
+          'Operating System :: OS Independent',
+          'Topic :: Internet :: WWW/HTTP',
+          'Framework :: Zope3'],
+      url='http://cheeseshop.python.org/pypi/zope.app.dtmlpage',
+      license='ZPL 2.1',
+      packages=find_packages('src'),
       package_dir = {'': 'src'},
-
-      namespace_packages = ['zope', 'zope.app'],
+      namespace_packages=['zope', 'zope.app'],
+      extras_require = dict(test=['zope.app.testing',
+                                  'zope.app.preference',
+                                  'zope.app.securitypolicy',
+                                  'zope.app.zcmlfiles']),
       install_requires = ['setuptools',
                           'ZODB3',
                           'zope.annotation',
@@ -47,11 +65,6 @@
                           'zope.security',
                           'zope.traversing',
                           ],
-      extras_require = dict(test=['zope.app.testing',
-                                  'zope.app.preference',
-                                  'zope.app.securitypolicy',
-                                  'zope.app.zcmlfiles']),
       include_package_data = True,
-
       zip_safe = False,
       )


Property changes on: zope.app.dtmlpage/trunk/src
___________________________________________________________________
Name: svn:ignore
   + zope.app.dtmlpage.egg-info


Deleted: zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/ftests.py
===================================================================
--- zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/ftests.py	2007-10-24 02:40:57 UTC (rev 81020)
+++ zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/ftests.py	2007-10-24 03:20:07 UTC (rev 81021)
@@ -1,136 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2003, 2004 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (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.
-#
-##############################################################################
-"""Functional tests for DTML Page.
-
-$Id$
-"""
-
-import re
-import unittest
-from zope.testing import renormalizing
-from zope.app.testing.functional import BrowserTestCase
-from zope.app.dtmlpage.dtmlpage import DTMLPage
-from zope.app.dtmlpage.testing import DTMLPageLayer
-from xml.sax.saxutils import escape
-
-
-class DTMLPageTest(BrowserTestCase):
-
-    content = u'<html><body><dtml-var "REQUEST.URL[1]"></body></html>'
-
-    def addDTMLPage(self):
-        dtmlpage = DTMLPage(self.content)
-        root = self.getRootFolder()
-        root['dtmlpage'] = dtmlpage
-        self.commit()
-
-    def testAddForm(self):
-        response = self.publish(
-            '/+/zope.app.dtmlpage.DTMLPage=',
-            basic='mgr:mgrpw')
-        self.assertEqual(response.getStatus(), 200)
-        body = response.getBody()
-        self.assert_('Add a DTML Page' in body)
-        self.assert_('Source' in body)
-        self.assert_('Object Name' in body)
-        self.assert_('"Add"' in body)
-        self.checkForBrokenLinks(body, '/+/zope.app.dtmlpage.DTMLPage=',
-                                 'mgr:mgrpw')
-
-    def testAdd(self):
-        response = self.publish(
-            '/+/zope.app.dtmlpage.DTMLPage=',
-            form={'type_name': u'zope.app.dtmlpage.DTMLPage',
-                  'field.source': u'<h1>A DTML Page</h1>',
-                  'add_input_name': u'dtmlpage',
-                  'UPDATE_SUBMIT': u'Add'},
-            basic='mgr:mgrpw')
-        self.assertEqual(response.getStatus(), 302)
-        self.assertEqual(response.getHeader('Location'),
-                         'http://localhost/@@contents.html')
-        root = self.getRootFolder()
-        self.assert_('dtmlpage' in root)
-        dtmlpage = root['dtmlpage']
-        self.assertEqual(dtmlpage.source, '<h1>A DTML Page</h1>')
-
-    def testEditForm(self):
-        self.addDTMLPage()
-        response = self.publish(
-            '/dtmlpage/@@edit.html',
-            basic='mgr:mgrpw')
-        self.assertEqual(response.getStatus(), 200)
-        body = response.getBody()
-        self.assert_('Edit a DTML page' in body)
-        self.assert_('Source' in body)
-        self.assert_(escape(self.content) in body)
-        self.checkForBrokenLinks(body, '/dtmlpage/@@edit.html', 'mgr:mgrpw')
-
-    def testEdit(self):
-        self.addDTMLPage()
-        response = self.publish(
-            '/dtmlpage/@@edit.html',
-            form={'field.source': u'<h1>A DTML Page</h1>',
-                  'UPDATE_SUBMIT': u'Edit'},
-            basic='mgr:mgrpw')
-        self.assertEqual(response.getStatus(), 200)
-        body = response.getBody()
-        self.assert_('Edit a DTML page' in body)
-        self.assert_('Source' in body)
-        self.assert_(escape(u'<h1>A DTML Page</h1>') in body)
-        root = self.getRootFolder()
-        dtmlpage = root['dtmlpage']
-        self.assertEqual(dtmlpage.source, '<h1>A DTML Page</h1>')
-
-    def testIndex(self):
-        self.addDTMLPage()
-        response = self.publish(
-            '/dtmlpage/@@index.html',
-            basic='mgr:mgrpw')
-        self.assertEqual(response.getStatus(), 200)
-        body = response.getBody()
-        self.assertEqual(
-            body,
-            '<html><body>http://localhost/dtmlpage</body></html>')
-        self.checkForBrokenLinks(body, '/dtmlpage/@@index.html', 'mgr:mgrpw')
-
-    def testPreview(self):
-        self.addDTMLPage()
-        response = self.publish(
-            '/dtmlpage/@@preview.html',
-            basic='mgr:mgrpw')
-        self.assertEqual(response.getStatus(), 200)
-        body = response.getBody()
-        self.assert_('<iframe src="."' in body)
-        self.checkForBrokenLinks(body, '/dtmlpage/@@preview.html', 'mgr:mgrpw')
-
-
-checker = renormalizing.RENormalizing([
-    (re.compile(r"HTTP/1\.1 200 .*"), "HTTP/1.1 200 OK"),
-    (re.compile(r"HTTP/1\.1 303 .*"), "HTTP/1.1 303 See Other"),
-    ])
-
-
-def test_suite():
-    from zope.app.testing import functional
-    url = functional.FunctionalDocFileSuite('url.txt', checker=checker)
-    url.layer = DTMLPageLayer
-    DTMLPageTest.layer = DTMLPageLayer
-    return unittest.TestSuite((
-        unittest.makeSuite(DTMLPageTest),
-        url,
-        ))
-
-
-if __name__ == '__main__':
-    unittest.main(defaultTest='test_suite')

Modified: zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/interfaces.py
===================================================================
--- zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/interfaces.py	2007-10-24 02:40:57 UTC (rev 81020)
+++ zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/interfaces.py	2007-10-24 03:20:07 UTC (rev 81021)
@@ -19,7 +19,7 @@
 
 import zope.schema
 from zope.interface import Interface, Attribute
-from zope.app.i18n import ZopeMessageFactory as _
+from zope.i18nmessageid import ZopeMessageFactory as _
 
 class IDTMLPage(Interface):
     """DTML Pages are a persistent implementation of DTML."""

Copied: zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/tests/test_functional.py (from rev 81020, zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/ftests.py)
===================================================================
--- zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/tests/test_functional.py	                        (rev 0)
+++ zope.app.dtmlpage/trunk/src/zope/app/dtmlpage/tests/test_functional.py	2007-10-24 03:20:07 UTC (rev 81021)
@@ -0,0 +1,136 @@
+##############################################################################
+#
+# Copyright (c) 2003, 2004 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (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.
+#
+##############################################################################
+"""Functional tests for DTML Page.
+
+$Id$
+"""
+
+import re
+import unittest
+from zope.testing import renormalizing
+from zope.app.testing.functional import BrowserTestCase
+from zope.app.dtmlpage.dtmlpage import DTMLPage
+from zope.app.dtmlpage.testing import DTMLPageLayer
+from zope.app.testing import functional
+from xml.sax.saxutils import escape
+
+
+class DTMLPageTest(BrowserTestCase):
+
+    content = u'<html><body><dtml-var "REQUEST.URL[1]"></body></html>'
+
+    def addDTMLPage(self):
+        dtmlpage = DTMLPage(self.content)
+        root = self.getRootFolder()
+        root['dtmlpage'] = dtmlpage
+        self.commit()
+
+    def testAddForm(self):
+        response = self.publish(
+            '/+/zope.app.dtmlpage.DTMLPage=',
+            basic='mgr:mgrpw')
+        self.assertEqual(response.getStatus(), 200)
+        body = response.getBody()
+        self.assert_('Add a DTML Page' in body)
+        self.assert_('Source' in body)
+        self.assert_('Object Name' in body)
+        self.assert_('"Add"' in body)
+        self.checkForBrokenLinks(body, '/+/zope.app.dtmlpage.DTMLPage=',
+                                 'mgr:mgrpw')
+
+    def testAdd(self):
+        response = self.publish(
+            '/+/zope.app.dtmlpage.DTMLPage=',
+            form={'type_name': u'zope.app.dtmlpage.DTMLPage',
+                  'field.source': u'<h1>A DTML Page</h1>',
+                  'add_input_name': u'dtmlpage',
+                  'UPDATE_SUBMIT': u'Add'},
+            basic='mgr:mgrpw')
+        self.assertEqual(response.getStatus(), 302)
+        self.assertEqual(response.getHeader('Location'),
+                         'http://localhost/@@contents.html')
+        root = self.getRootFolder()
+        self.assert_('dtmlpage' in root)
+        dtmlpage = root['dtmlpage']
+        self.assertEqual(dtmlpage.source, '<h1>A DTML Page</h1>')
+
+    def testEditForm(self):
+        self.addDTMLPage()
+        response = self.publish(
+            '/dtmlpage/@@edit.html',
+            basic='mgr:mgrpw')
+        self.assertEqual(response.getStatus(), 200)
+        body = response.getBody()
+        self.assert_('Edit a DTML page' in body)
+        self.assert_('Source' in body)
+        self.assert_(escape(self.content) in body)
+        self.checkForBrokenLinks(body, '/dtmlpage/@@edit.html', 'mgr:mgrpw')
+
+    def testEdit(self):
+        self.addDTMLPage()
+        response = self.publish(
+            '/dtmlpage/@@edit.html',
+            form={'field.source': u'<h1>A DTML Page</h1>',
+                  'UPDATE_SUBMIT': u'Edit'},
+            basic='mgr:mgrpw')
+        self.assertEqual(response.getStatus(), 200)
+        body = response.getBody()
+        self.assert_('Edit a DTML page' in body)
+        self.assert_('Source' in body)
+        self.assert_(escape(u'<h1>A DTML Page</h1>') in body)
+        root = self.getRootFolder()
+        dtmlpage = root['dtmlpage']
+        self.assertEqual(dtmlpage.source, '<h1>A DTML Page</h1>')
+
+    def testIndex(self):
+        self.addDTMLPage()
+        response = self.publish(
+            '/dtmlpage/@@index.html',
+            basic='mgr:mgrpw')
+        self.assertEqual(response.getStatus(), 200)
+        body = response.getBody()
+        self.assertEqual(
+            body,
+            '<html><body>http://localhost/dtmlpage</body></html>')
+        self.checkForBrokenLinks(body, '/dtmlpage/@@index.html', 'mgr:mgrpw')
+
+    def testPreview(self):
+        self.addDTMLPage()
+        response = self.publish(
+            '/dtmlpage/@@preview.html',
+            basic='mgr:mgrpw')
+        self.assertEqual(response.getStatus(), 200)
+        body = response.getBody()
+        self.assert_('<iframe src="."' in body)
+        self.checkForBrokenLinks(body, '/dtmlpage/@@preview.html', 'mgr:mgrpw')
+
+
+checker = renormalizing.RENormalizing([
+    (re.compile(r"HTTP/1\.1 200 .*"), "HTTP/1.1 200 OK"),
+    (re.compile(r"HTTP/1\.1 303 .*"), "HTTP/1.1 303 See Other"),
+    ])
+
+
+def test_suite():
+    url = functional.FunctionalDocFileSuite('../url.txt', checker=checker)
+    url.layer = DTMLPageLayer
+    DTMLPageTest.layer = DTMLPageLayer
+    return unittest.TestSuite((
+        unittest.makeSuite(DTMLPageTest),
+        url,
+        ))
+
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')



More information about the Checkins mailing list