[Checkins] SVN: z3c.etestbrowser/trunk/ - setup ignores

Christian Theune ct at gocept.com
Tue Dec 5 02:44:33 EST 2006


Log message for revision 71409:
   - setup ignores
   - fixed tests 
   - switched to development version of zope3instance recipe
  

Changed:
  _U  z3c.etestbrowser/trunk/
  U   z3c.etestbrowser/trunk/buildout.cfg
  _U  z3c.etestbrowser/trunk/src/
  A   z3c.etestbrowser/trunk/src/z3c/__init__.py
  U   z3c.etestbrowser/trunk/src/z3c/etestbrowser/README.txt
  A   z3c.etestbrowser/trunk/src/z3c/etestbrowser/TODO.txt
  U   z3c.etestbrowser/trunk/src/z3c/etestbrowser/testing.py
  U   z3c.etestbrowser/trunk/src/z3c/etestbrowser/tests.py

-=-

Property changes on: z3c.etestbrowser/trunk
___________________________________________________________________
Name: svn:ignore
   + bin
parts
eggs
develop-eggs
.installed.cfg


Modified: z3c.etestbrowser/trunk/buildout.cfg
===================================================================
--- z3c.etestbrowser/trunk/buildout.cfg	2006-12-05 07:30:01 UTC (rev 71408)
+++ z3c.etestbrowser/trunk/buildout.cfg	2006-12-05 07:44:33 UTC (rev 71409)
@@ -1,5 +1,5 @@
 [buildout]
-develop = . 
+develop = . recipes/zope3instance
 parts = zope3 database instance test
 
 [zope3]
@@ -14,6 +14,7 @@
 database = database
 user = admin:admin
 eggs = z3c.etestbrowser
+    lxml
 
 zcml = zope.app.securitypolicy-meta
     zope.app.twisted
@@ -22,6 +23,7 @@
 [test]
 recipe = zc.recipe.testrunner
 eggs = z3c.etestbrowser
+    lxml
+extra-paths = parts/zope3/src
 working-directory = parts/instance
-extra-paths = parts/zope3/src
 defaults = ['--tests-pattern', '^f?tests$', '-v']


Property changes on: z3c.etestbrowser/trunk/src
___________________________________________________________________
Name: svn:ignore
   + *.egg-info


Added: z3c.etestbrowser/trunk/src/z3c/__init__.py
===================================================================
--- z3c.etestbrowser/trunk/src/z3c/__init__.py	2006-12-05 07:30:01 UTC (rev 71408)
+++ z3c.etestbrowser/trunk/src/z3c/__init__.py	2006-12-05 07:44:33 UTC (rev 71409)
@@ -0,0 +1,7 @@
+# namespace package boilerplate
+try:
+    import pkg_resources
+    pkg_resources.declare_namespace(__name__)
+except ImportError, e:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__)


Property changes on: z3c.etestbrowser/trunk/src/z3c/__init__.py
___________________________________________________________________
Name: svn:keywords
   + Id Rev Date
Name: svn:eol-style
   + native

Modified: z3c.etestbrowser/trunk/src/z3c/etestbrowser/README.txt
===================================================================
--- z3c.etestbrowser/trunk/src/z3c/etestbrowser/README.txt	2006-12-05 07:30:01 UTC (rev 71408)
+++ z3c.etestbrowser/trunk/src/z3c/etestbrowser/README.txt	2006-12-05 07:44:33 UTC (rev 71409)
@@ -24,11 +24,14 @@
 
 Example:
 
-  >>> from z3c.etestbrowser.testing import EtreeTestBrowser
-  >>> browser = EtreeTestBrowser()
+  >>> from z3c.etestbrowser.testing import ExtendedTestBrowser
+  >>> browser = ExtendedTestBrowser()
   >>> browser.open("http://localhost/")
-  >>> browser.contents
+  >>> print browser.contents
+  <!DOCTYPE ...>
+  ...
+  </html>
   >>> browser.etree
+  <etree._ElementTree object at 0x...>
   >>> browser.etree.xpath('//html')
-  []
-
+  [<Element html at ...>]

Added: z3c.etestbrowser/trunk/src/z3c/etestbrowser/TODO.txt
===================================================================
--- z3c.etestbrowser/trunk/src/z3c/etestbrowser/TODO.txt	2006-12-05 07:30:01 UTC (rev 71408)
+++ z3c.etestbrowser/trunk/src/z3c/etestbrowser/TODO.txt	2006-12-05 07:44:33 UTC (rev 71409)
@@ -0,0 +1,6 @@
+TODO
+====
+
+- Graceful handling of browser.contents is not 'text/xml' or 'text/html'?
+- Automatically choose the HTMLParser or the XMLParser based on the content
+  type.


Property changes on: z3c.etestbrowser/trunk/src/z3c/etestbrowser/TODO.txt
___________________________________________________________________
Name: svn:keywords
   + Id Rev Date
Name: svn:eol-style
   + native

Modified: z3c.etestbrowser/trunk/src/z3c/etestbrowser/testing.py
===================================================================
--- z3c.etestbrowser/trunk/src/z3c/etestbrowser/testing.py	2006-12-05 07:30:01 UTC (rev 71408)
+++ z3c.etestbrowser/trunk/src/z3c/etestbrowser/testing.py	2006-12-05 07:44:33 UTC (rev 71409)
@@ -16,6 +16,7 @@
 $Id$
 """
 
+import StringIO
 import lxml.etree
 
 import zope.testbrowser.testing
@@ -24,19 +25,27 @@
 html_parser = lxml.etree.HTMLParser()
 
 
-class EtreeTestBrowser(zope.testbrowser.testing.Browser):
-    """A testbrowser derivation that offers its content 
-    also as an etree.
+class ExtendedTestBrowser(zope.testbrowser.testing.Browser):
+    """An extended testbrowser implementation.
 
+    Features:
+
+        - offers the content also as parsed etree
+
     """
 
+    _etree = None
+
     @property
     def etree(self):
         if self._etree is not None:
             return self._etree
-        self._etree = etree.parse(self.contents, html_parser)
+        # I'm not using any internal knowledge about testbrowser
+        # here, to avoid breakage. Memory usage won't be a problem.
+        content = StringIO.StringIO(self.contents)
+        self._etree = lxml.etree.parse(content, html_parser)
         return self._etree
 
     def _changed(self):
-        super(EtreeTestBrowser, self)._changed()
+        super(ExtendedTestBrowser, self)._changed()
         self._etree = None

Modified: z3c.etestbrowser/trunk/src/z3c/etestbrowser/tests.py
===================================================================
--- z3c.etestbrowser/trunk/src/z3c/etestbrowser/tests.py	2006-12-05 07:30:01 UTC (rev 71408)
+++ z3c.etestbrowser/trunk/src/z3c/etestbrowser/tests.py	2006-12-05 07:44:33 UTC (rev 71409)
@@ -19,8 +19,11 @@
 import unittest
 
 from zope.app.testing import functional
+from zope.testing import doctest
 
 
 def test_suite():
     return unittest.TestSuite(
-        functional.FunctionalDocFileSuite("README.txt"))
+        functional.FunctionalDocFileSuite("README.txt",
+            optionflags=doctest.REPORT_NDIFF|doctest.NORMALIZE_WHITESPACE|
+                doctest.ELLIPSIS))



More information about the Checkins mailing list