'This test verifies that a fix for the bug identified while scanning
demo.testfire.net is still working as expected. The issue was that the
site had a form that looked like:
<form action="/xyz">
<intput name="foo" value="bar+spam" type="hidden">
<intput name="eggs" type="text">
</form>
And when trying to send a request to that form the "+" in the value
was sent as %20. The input was an .NET\'s EVENTVALIDATION thus it was
impossible to find any bugs in the "eggs" parameter.
Please note that this is just a partial test, since there is much more
going on in w3af than just creating a form and encoding it. A functional
test for this issue can be found at test_special_chars.py'

def test_form_with_plus_value(self):

    form_with_plus = [{'tagname': 'input', 'name': 'foo', 'type': 'hidden', 'value': 'bar+spam'}, {'tagname': 'input', 'name': 'eggs', 'type': 'text'}]
    form = URLEncodedForm(create_form_params_helper(form_with_plus))
    self.assertEqual(str(form), 'eggs=&foo=bar%2Bspam')
