diff genshi/filters/tests/html.py @ 908:5fd4a1e28351

Fix for bug with the `HTMLFormFiller` in the handling of textareas. Thanks to Trevor Morgan for pointing this out on the mailing list.
author cmlenz
date Mon, 10 May 2010 14:02:55 +0000
parents 0d9e87c6cf6e
children 585fdbd30e05
line wrap: on
line diff
--- a/genshi/filters/tests/html.py
+++ b/genshi/filters/tests/html.py
@@ -92,6 +92,28 @@
           <textarea name="foo">bar</textarea>
         </p></form>""", html.render())
 
+    def test_fill_textarea_multiple(self):
+        # Ensure that the subsequent textarea doesn't get the data from the
+        # first
+        html = HTML("""<form><p>
+          <textarea name="foo"></textarea>
+          <textarea name="bar"></textarea>
+        </p></form>""") | HTMLFormFiller(data={'foo': 'Some text'})
+        self.assertEquals("""<form><p>
+          <textarea name="foo">Some text</textarea>
+          <textarea name="bar"/>
+        </p></form>""", html.render())
+
+    def test_fill_textarea_preserve_original(self):
+        html = HTML("""<form><p>
+          <textarea name="foo"></textarea>
+          <textarea name="bar">Original value</textarea>
+        </p></form>""") | HTMLFormFiller(data={'foo': 'Some text'})
+        self.assertEquals("""<form><p>
+          <textarea name="foo">Some text</textarea>
+          <textarea name="bar">Original value</textarea>
+        </p></form>""", html.render())
+
     def test_fill_input_checkbox_no_value(self):
         html = HTML("""<form><p>
           <input type="checkbox" name="foo" />
Copyright (C) 2012-2017 Edgewall Software