Uploaded image for project: 'Bitbucket Cloud'
  1. Bitbucket Cloud
  2. BCLOUD-624

0 and None are being shown as an empty string in fields

    XMLWordPrintable

Details

    Description

      When trying to use a HiddenField for an id I noticed that its treating 0 as "" as well as doing the same for None. This shows up in atleast IntegerField as well. Included below is a unit test showing the problem.

      {{{
      #!python

      import unittest
      from wtforms import Form, HiddenField

      class Foo(Form):
      id = HiddenField()

      class TestHiddenField(unittest.TestCase):
      def setUp(self):
      self.f = Foo()

      def test_none_data_is_blank(self):
          self.f.id.data = None
          self.assertEqual(str(self.f.id),&#x27;<input id="id" name="id" type="hidden" value="" />&#x27;)
      
      def test_0_data_is_0(self):
          self.f.id.data = 0
          self.assertEqual(str(self.id),&#x27;<input id="id" name="id" type="hidden" value="0" />&#x27;)
      

      suite = unittest.TestLoader().loadTestsFromTestCase(TestHiddenField)
      unittest.TextTestRunner(verbosity=2).run(suite)

      }}}

      this gives me

      {{

      { test_0_data_is_0 (*main*.TestHiddenField) ... FAIL\\ test_none_data_is_blank (*main*.TestHiddenField) ... ok h2. ======================================================================\\ FAIL: test_0_data_is_0 (*main*.TestHiddenField) Traceback (most recent call last):\\ File "C:\eclipse\workspace\renderranch\test.py", line 17, in test_0_data_is_0\\ self.assertEqual(str(self.id),'<input id="id" name="id" type="hidden" value="0" />')\\ AssertionError: '<bound method TestHiddenField.id of <*main*.TestHiddenField testMethod=test_0_data_is_0>>' != '<input id="id" name="id" type="hidden" value="0" />' ---- Ran 2 tests in 0.000s FAILED (failures=1) }

      }}

      Attachments

        Activity

          People

            Unassigned Unassigned
            Anonymous Anonymous
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: