diff genshi/filters/tests/html.py @ 909:585fdbd30e05

Fix handling of checkboxes and radio buttons with an empty value attribute in `HTMLFormFiller`. Thanks to Benoit Hirbec for pointing out the problem and providing a patch.
author cmlenz
date Mon, 10 May 2010 15:03:22 +0000
parents 5fd4a1e28351
children
line wrap: on
line diff
--- a/genshi/filters/tests/html.py
+++ b/genshi/filters/tests/html.py
@@ -114,7 +114,7 @@
           <textarea name="bar">Original value</textarea>
         </p></form>""", html.render())
 
-    def test_fill_input_checkbox_no_value(self):
+    def test_fill_input_checkbox_single_value_auto_no_value(self):
         html = HTML("""<form><p>
           <input type="checkbox" name="foo" />
         </p></form>""") | HTMLFormFiller()
@@ -196,6 +196,22 @@
           <input type="radio" name="foo" value="1"/>
         </p></form>""", (html | HTMLFormFiller(data={'foo': ['2']})).render())
 
+    def test_fill_input_radio_empty_string(self):
+        html = HTML("""<form><p>
+          <input type="radio" name="foo" value="" />
+        </p></form>""")
+        self.assertEquals("""<form><p>
+          <input type="radio" name="foo" value="" checked="checked"/>
+        </p></form>""", (html | HTMLFormFiller(data={'foo': ''})).render())
+
+    def test_fill_input_radio_multi_empty_string(self):
+        html = HTML("""<form><p>
+          <input type="radio" name="foo" value="" />
+        </p></form>""")
+        self.assertEquals("""<form><p>
+          <input type="radio" name="foo" value="" checked="checked"/>
+        </p></form>""", (html | HTMLFormFiller(data={'foo': ['']})).render())
+
     def test_fill_select_no_value_auto(self):
         html = HTML("""<form><p>
           <select name="foo">
Copyright (C) 2012-2017 Edgewall Software