[wwwsearch-commits] r36052 - in wwwsearch/mechanize/trunk: mechanize test

jjlee at codespeak.net jjlee at codespeak.net
Sat Dec 30 00:24:56 CET 2006


Author: jjlee
Date: Sat Dec 30 00:24:54 2006
New Revision: 36052

Modified:
   wwwsearch/mechanize/trunk/mechanize/_html.py
   wwwsearch/mechanize/trunk/test/test_browser.doctest
Log:
Fix Factory.global_form implementation

Modified: wwwsearch/mechanize/trunk/mechanize/_html.py
==============================================================================
--- wwwsearch/mechanize/trunk/mechanize/_html.py	(original)
+++ wwwsearch/mechanize/trunk/mechanize/_html.py	Sat Dec 30 00:24:54 2006
@@ -432,6 +432,8 @@
 
     """
 
+    LAZY_ATTRS = ["encoding", "is_html", "title", "global_form"]
+
     def __init__(self, forms_factory, links_factory, title_factory,
                  encoding_finder=EncodingFinder(DEFAULT_ENCODING),
                  response_type_finder=ResponseTypeFinder(allow_xhtml=False),
@@ -474,14 +476,14 @@
         self._response = response
         self._forms_genf = self._links_genf = None
         self._get_title = None
-        for name in ["encoding", "is_html", "title", "global_form"]:
+        for name in self.LAZY_ATTRS:
             try:
                 delattr(self, name)
             except AttributeError:
                 pass
 
     def __getattr__(self, name):
-        if name not in ["encoding", "is_html", "title"]:
+        if name not in self.LAZY_ATTRS:
             return getattr(self.__class__, name)
 
         if name == "encoding":
@@ -499,7 +501,6 @@
                 self.title = None
             return self.title
         elif name == "global_form":
-            assert False  # XXXX fixme!
             self.forms()
             return self.global_form
 

Modified: wwwsearch/mechanize/trunk/test/test_browser.doctest
==============================================================================
--- wwwsearch/mechanize/trunk/test/test_browser.doctest	(original)
+++ wwwsearch/mechanize/trunk/test/test_browser.doctest	Sat Dec 30 00:24:54 2006
@@ -116,9 +116,9 @@
 Traceback (most recent call last):
 BrowserStateError: not viewing any document
 >>> br.set_response(response)
+>>> br.global_form().find_control(nr=0).name
+'a'
 >>> len(list(br.forms()))
 1
 >>> iter(br.forms()).next().find_control(nr=0).name
 'b'
->>> br.global_form().find_control(nr=0).name
-'a'


More information about the wwwsearch-commits mailing list