[Checkins] SVN: Sandbox/ulif/grokadmin/trunk/src/grokadmin/ Add unittests for grokadmin.

Uli Fouquet uli at gnufix.de
Sun Oct 7 07:27:48 EDT 2007


Log message for revision 80693:
  Add unittests for grokadmin.

Changed:
  U   Sandbox/ulif/grokadmin/trunk/src/grokadmin/app.py
  A   Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/
  A   Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/__init__.py
  A   Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/test_grokadmin.py

-=-
Modified: Sandbox/ulif/grokadmin/trunk/src/grokadmin/app.py
===================================================================
--- Sandbox/ulif/grokadmin/trunk/src/grokadmin/app.py	2007-10-07 10:59:05 UTC (rev 80692)
+++ Sandbox/ulif/grokadmin/trunk/src/grokadmin/app.py	2007-10-07 11:27:48 UTC (rev 80693)
@@ -17,4 +17,12 @@
 
 class GrokAdmin(grok.Application, grok.Container):
     """The Grok Administrators and Developers UI.
+
+    We can create a ``GrokAdmin`` application::
+
+       >>> from grokadmin.app import GrokAdmin
+       >>> admin = GrokAdmin()
+       >>> admin
+       <grokadmin.app.GrokAdmin object at 0x...>
+       
     """

Added: Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/__init__.py
===================================================================
--- Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/__init__.py	                        (rev 0)
+++ Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/__init__.py	2007-10-07 11:27:48 UTC (rev 80693)
@@ -0,0 +1,14 @@
+##############################################################################
+#
+# Copyright (c) 2007 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.
+#
+##############################################################################
+# this is a package

Added: Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/test_grokadmin.py
===================================================================
--- Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/test_grokadmin.py	                        (rev 0)
+++ Sandbox/ulif/grokadmin/trunk/src/grokadmin/tests/test_grokadmin.py	2007-10-07 11:27:48 UTC (rev 80693)
@@ -0,0 +1,75 @@
+##############################################################################
+#
+# Copyright (c) 2007 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.
+#
+##############################################################################
+"""Setup for tests."""
+
+import os
+import unittest
+from pkg_resources import resource_listdir
+from zope.testing import doctest, cleanup
+import zope.component.eventtesting
+from zope.annotation.attribute import AttributeAnnotations
+
+def setUpZope(test):
+    zope.component.eventtesting.setUp(test)
+    zope.component.provideAdapter(AttributeAnnotations)
+
+def cleanUpZope(test):
+    cleanup.cleanUp()
+
+def suiteFromPackage(name):
+    files = resource_listdir(__name__, name)
+    suite = unittest.TestSuite()
+    for filename in files:
+        if not filename.endswith('.py'):
+            continue
+        if filename.endswith('_fixture.py'):
+            continue
+        if filename == '__init__.py':
+            continue
+
+        dottedname = 'grokadmin.tests.%s.%s' % (name, filename[:-3])
+        test = doctest.DocTestSuite(dottedname,
+                                    setUp=setUpZope,
+                                    tearDown=cleanUpZope,
+                                    optionflags=doctest.ELLIPSIS+
+                                    doctest.NORMALIZE_WHITESPACE)
+
+        suite.addTest(test)
+    return suite
+
+def pnorm(path):
+    """Normalization of paths to use forward slashes. This is needed
+    to make sure the tests work on windows.
+    """
+    return path.replace(os.sep, '/')
+
+def test_suite():
+    suite = unittest.TestSuite()
+    globs = {'pnorm': pnorm}
+
+    for name in []:
+        suite.addTest(suiteFromPackage(name))
+    for name in ['app.py']:
+        suite.addTest(doctest.DocFileSuite(name,
+                                           package='grokadmin',
+                                           globs=globs,
+                                           setUp=setUpZope,
+                                           tearDown=cleanUpZope,
+                                           optionflags=doctest.ELLIPSIS+
+                                           doctest.NORMALIZE_WHITESPACE)
+                      )
+    return suite
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')



More information about the Checkins mailing list