diff options
author | Zeb DeOs <zebdeos@coquilletribe.org> | 2014-04-24 09:17:40 -0700 |
---|---|---|
committer | Zeb DeOs <zebdeos@coquilletribe.org> | 2014-04-24 09:17:40 -0700 |
commit | c0687cbb837bb81bb1f8cd188416a5ad1d2e56dc (patch) | |
tree | ccc3c4208ee922b22ee817fdf9b1ecd9c6eea919 | |
parent | 9d0d1933279a37dd0a8274d1e1f00517833efe50 (diff) | |
download | webtest-c0687cbb837bb81bb1f8cd188416a5ad1d2e56dc.tar.gz |
Fixed #110. Don't ignore forced value on Radio input
-rw-r--r-- | CHANGELOG.rst | 4 | ||||
-rw-r--r-- | tests/test_forms.py | 10 | ||||
-rw-r--r-- | webtest/forms.py | 4 |
3 files changed, 16 insertions, 2 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9399ad9..56876d2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,7 +4,9 @@ News 2.0.16 (unreleased) ------------------- -- Nothing changed yet. +- Fixed #110. Forced values for Radio inputs are no longer ignored by value + property on get. + [bayprogrammer] 2.0.15 (2014-04-17) diff --git a/tests/test_forms.py b/tests/test_forms.py index fffa632..0d7bda4 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -176,6 +176,16 @@ class TestInput(unittest.TestCase): self.assertEqual(form['foo'].value, 'bar') self.assertEqual(form.submit_fields(), [('foo', 'bar')]) + def test_force_radio_input(self): + app = self.callFUT() + res = app.get('/form.html') + + form = res.forms['radio_input_form'] + + form['foo'].force_value('fido') + self.assertEqual(form['foo'].value, 'fido') + self.assertEqual(form.submit_fields(), [('foo', 'fido')]) + def test_input_unicode(self): app = self.callFUT('form_unicode_inputs.html') res = app.get('/form.html') diff --git a/webtest/forms.py b/webtest/forms.py index 8a43001..b84c08f 100644 --- a/webtest/forms.py +++ b/webtest/forms.py @@ -237,7 +237,9 @@ class Radio(Select): """Field representing ``<input type="radio">``""" def value__get(self): - if self.selectedIndex is not None: + if self._forced_value is not NoValue: + return self._forced_value + elif self.selectedIndex is not None: return self.options[self.selectedIndex][0] else: for option, checked, text in self.options: |