diff test/test_templating.py @ 5989:c475159af6b8

Add test and changelog for html boolean fix.
author John Rouillard <rouilj@ieee.org>
date Sat, 14 Dec 2019 16:23:08 -0500
parents c3728772c594
children f0da02e0ca81
line wrap: on
line diff
--- a/test/test_templating.py	Sat Dec 14 16:18:15 2019 -0500
+++ b/test/test_templating.py	Sat Dec 14 16:23:08 2019 -0500
@@ -296,6 +296,43 @@
             ae(t('http://roundup.net/%c/' % c),
                '<a href="http://roundup.net/%c/" rel="nofollow noopener">http://roundup.net/%c/</a>' % (c, c))
 
+    def test_input_html4(self):
+        # boolean attributes are just the attribute name
+        # indicate with attr=None or attr="attr"
+        #   e.g. disabled
+
+        input=input_html4(required=None, size=30)
+        self.assertEqual(input, '<input required size="30" type="text">')
+
+        input=input_html4(required="required", size=30)
+        self.assertEqual(input, '<input required size="30" type="text">')
+
+        attrs={"required": None, "class": "required", "size": 30}
+        input=input_html4(**attrs)
+        self.assertEqual(input, '<input class="required" required size="30" type="text">')
+
+        attrs={"disabled": "disabled", "class": "required", "size": 30}
+        input=input_html4(**attrs)
+        self.assertEqual(input, '<input class="required" disabled size="30" type="text">')
+
+    def test_input_xhtml(self):
+        # boolean attributes are attribute name="attribute name"
+        # indicate with attr=None or attr="attr"
+        #    e.g. disabled="disabled"
+        input=input_xhtml(required=None, size=30)
+        self.assertEqual(input, '<input required="required" size="30" type="text"/>')
+
+        input=input_xhtml(required="required", size=30)
+        self.assertEqual(input, '<input required="required" size="30" type="text"/>')
+
+        attrs={"required": None, "class": "required", "size": 30}
+        input=input_xhtml(**attrs)
+        self.assertEqual(input, '<input class="required" required="required" size="30" type="text"/>')
+
+        attrs={"disabled": "disabled", "class": "required", "size": 30}
+        input=input_xhtml(**attrs)
+        self.assertEqual(input, '<input class="required" disabled="disabled" size="30" type="text"/>')
+
 r'''
 class HTMLPermissions:
     def is_edit_ok(self):

Roundup Issue Tracker: http://roundup-tracker.org/