[wwwsearch-commits] r23228 - wwwsearch/ClientForm/trunk
jjlee at codespeak.net
jjlee at codespeak.net
Sat Feb 11 15:09:47 CET 2006
Author: jjlee
Date: Sat Feb 11 15:09:44 2006
New Revision: 23228
Modified:
wwwsearch/ClientForm/trunk/ClientForm.py
wwwsearch/ClientForm/trunk/test.py
Log:
Fix handle_entityref to use same unescape code as for attributes
Modified: wwwsearch/ClientForm/trunk/ClientForm.py
==============================================================================
--- wwwsearch/ClientForm/trunk/ClientForm.py (original)
+++ wwwsearch/ClientForm/trunk/ClientForm.py Sat Feb 11 15:09:44 2006
@@ -661,13 +661,8 @@
controls.append(("isindex", None, d))
def handle_entityref(self, name):
- table = self._entitydefs
- fullname = "&%s;" % name
- if table.has_key(fullname):
- self.handle_data(table[fullname].encode(self._encoding))
- else:
- self.unknown_entityref(name)
- return
+ self.handle_data(unescape(
+ '&%s;' % name, self._entitydefs, self._encoding))
def handle_charref(self, name):
self.handle_data(unescape_charref(name, self._encoding))
Modified: wwwsearch/ClientForm/trunk/test.py
==============================================================================
--- wwwsearch/ClientForm/trunk/test.py (original)
+++ wwwsearch/ClientForm/trunk/test.py Sat Feb 11 15:09:44 2006
@@ -140,6 +140,21 @@
self.assertEqual(control.value, "val"+test_string)
self.assertEqual(control.name, "name"+test_string)
+ def test_unescape_parsing_data(self):
+ file = StringIO(
+"""\
+<form>
+ <label for="foo">Blah ” ” blah</label>
+ <input type="text" id="foo" name="foo">
+</form>
+""") #"
+ # don't crash if we can't encode -- rather, leave entity ref intact
+ forms = ClientForm.ParseFile(
+ file, "http://localhost/", backwards_compat=False,
+ encoding="latin-1")
+ label = forms[0].find_control(nr=0).get_labels()[0]
+ self.assertEqual(label.text, "Blah ” ” blah")
+
class LWPFormTests(TestCase):
"""The original tests from libwww-perl 5.64."""
More information about the wwwsearch-commits
mailing list