def test_fill_input_checkbox_multi_value_auto(self): html = HTML("""<form><p> <input type="checkbox" name="foo" /> </p></form>""", encoding='ascii') self.assertEquals("""<form><p> <input type="checkbox" name="foo"/> </p></form>""", (html | HTMLFormFiller(data={'foo': []})).render()) self.assertEquals("""<form><p> <input type="checkbox" name="foo" checked="checked"/> </p></form>""", (html | HTMLFormFiller(data={'foo': ['on']})).render())
def test_fill_input_radio_multi_value(self): html = HTML(u"""<form><p> <input type="radio" name="foo" value="1" /> </p></form>""") self.assertEquals("""<form><p> <input type="radio" name="foo" value="1" checked="checked"/> </p></form>""", (html | HTMLFormFiller(data={'foo': ['1']})).render()) self.assertEquals("""<form><p> <input type="radio" name="foo" value="1"/> </p></form>""", (html | HTMLFormFiller(data={'foo': ['2']})).render())
def test_fill_input_checkbox_single_value_auto(self): html = HTML(u"""<form><p> <input type="checkbox" name="foo" /> </p></form>""") self.assertEquals("""<form><p> <input type="checkbox" name="foo"/> </p></form>""", (html | HTMLFormFiller(data={'foo': ''})).render()) self.assertEquals("""<form><p> <input type="checkbox" name="foo" checked="checked"/> </p></form>""", (html | HTMLFormFiller(data={'foo': 'on'})).render())
def test_fill_input_checkbox_single_value_defined(self): html = HTML("""<form><p> <input type="checkbox" name="foo" value="1" /> </p></form>""", encoding='ascii') self.assertEquals("""<form><p> <input type="checkbox" name="foo" value="1" checked="checked"/> </p></form>""", (html | HTMLFormFiller(data={'foo': '1'})).render()) self.assertEquals("""<form><p> <input type="checkbox" name="foo" value="1"/> </p></form>""", (html | HTMLFormFiller(data={'foo': '2'})).render())
def test_fill_input_radio_single_value(self): html = HTML("""<form><p> <input type="radio" name="foo" value="1" /> </p></form>""") self.assertEquals("""<form><p> <input type="radio" name="foo" value="1" checked="checked"/> </p></form>""", unicode(html | HTMLFormFiller(data={'foo': '1'}))) self.assertEquals("""<form><p> <input type="radio" name="foo" value="1"/> </p></form>""", unicode(html | HTMLFormFiller(data={'foo': '2'})))
def test_fill_input_checkbox_multi_value_defined(self): html = HTML("""<form><p> <input type="checkbox" name="foo" value="1" /> </p></form>""") self.assertEquals("""<form><p> <input type="checkbox" name="foo" value="1" checked="checked"/> </p></form>""", unicode(html | HTMLFormFiller(data={'foo': ['1']}))) self.assertEquals("""<form><p> <input type="checkbox" name="foo" value="1"/> </p></form>""", unicode(html | HTMLFormFiller(data={'foo': ['2']})))
def test_fill_input_checkbox_single_value_auto_no_value(self): html = HTML(u"""<form><p> <input type="checkbox" name="foo" /> </p></form>""") | HTMLFormFiller() self.assertEquals("""<form><p> <input type="checkbox" name="foo"/> </p></form>""", html.render())
def test_fill_input_text_single_value(self): html = HTML(u"""<form><p> <input type="text" name="foo" /> </p></form>""") | HTMLFormFiller(data={'foo': 'bar'}) self.assertEquals("""<form><p> <input type="text" name="foo" value="bar"/> </p></form>""", html.render())
def test_fill_input_password_enabled(self): html = HTML(u"""<form><p> <input type="password" name="pass" /> </p></form>""") | HTMLFormFiller(data={'pass': '******'}, passwords=True) self.assertEquals("""<form><p> <input type="password" name="pass" value="1234"/> </p></form>""", html.render())
def test_fill_textarea_single_value(self): html = HTML("""<form><p> <textarea name="foo"></textarea> </p></form>""") | HTMLFormFiller(data={'foo': 'bar'}) self.assertEquals("""<form><p> <textarea name="foo">bar</textarea> </p></form>""", unicode(html))
def test_fill_input_hidden_single_value(self): html = HTML("""<form><p> <input type="hidden" name="foo" /> </p></form>""") | HTMLFormFiller(data={'foo': 'bar'}) self.assertEquals("""<form><p> <input type="hidden" name="foo" value="bar"/> </p></form>""", unicode(html))
def test_fill_input_text_multi_value(self): html = HTML("""<form><p> <input type="text" name="foo" /> </p></form>""") | HTMLFormFiller(data={'foo': ['bar']}) self.assertEquals("""<form><p> <input type="text" name="foo" value="bar"/> </p></form>""", unicode(html))
def test_fill_textarea_no_value(self): html = HTML(u"""<form><p> <textarea name="foo"></textarea> </p></form>""") | HTMLFormFiller() self.assertEquals("""<form><p> <textarea name="foo"/> </p></form>""", html.render())
def test_fill_textarea_multi_value(self): html = HTML(u"""<form><p> <textarea name="foo"></textarea> </p></form>""") | HTMLFormFiller(data={'foo': ['bar']}) self.assertEquals("""<form><p> <textarea name="foo">bar</textarea> </p></form>""", html.render())
def test_fill_input_checkbox_no_value(self): html = HTML("""<form><p> <input type="checkbox" name="foo" /> </p></form>""") | HTMLFormFiller() self.assertEquals("""<form><p> <input type="checkbox" name="foo"/> </p></form>""", unicode(html))
def test_fill_input_hidden_no_value(self): html = HTML(u"""<form><p> <input type="hidden" name="foo" /> </p></form>""") | HTMLFormFiller() self.assertEquals("""<form><p> <input type="hidden" name="foo"/> </p></form>""", html.render())
def test_fill_input_hidden_multi_value(self): html = HTML(u"""<form><p> <input type="hidden" name="foo" /> </p></form>""") | HTMLFormFiller(data={'foo': ['bar']}) self.assertEquals("""<form><p> <input type="hidden" name="foo" value="bar"/> </p></form>""", html.render())
def test_fill_input_password_disabled(self): html = HTML(u"""<form><p> <input type="password" name="pass" /> </p></form>""") | HTMLFormFiller(data={'pass': '******'}) self.assertEquals("""<form><p> <input type="password" name="pass"/> </p></form>""", html.render())
def test_fill_input_radio_empty_string(self): html = HTML(u"""<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_text_no_value(self): html = HTML("""<form><p> <input type="text" name="foo" /> </p></form>""") | HTMLFormFiller() self.assertEqual( """<form><p> <input type="text" name="foo"/> </p></form>""", html.render())
def test_fill_textarea_preserve_original(self): html = HTML(u"""<form><p> <textarea name="foo"></textarea> <textarea name="bar">Original value</textarea> </p></form>""") | HTMLFormFiller(data={'foo': 'Some text'}) self.assertEquals("""<form><p> <textarea name="foo">Some text</textarea> <textarea name="bar">Original value</textarea> </p></form>""", html.render())
def test_fill_option_segmented_text(self): html = MarkupTemplate("""<form> <select name="foo"> <option value="1">foo $x</option> </select> </form>""").generate(x=1) | HTMLFormFiller(data={'foo': '1'}) self.assertEquals("""<form> <select name="foo"> <option value="1" selected="selected">foo 1</option> </select> </form>""", unicode(html))
def test_fill_textarea_multiple(self): # Ensure that the subsequent textarea doesn't get the data from the # first html = HTML(u"""<form><p> <textarea name="foo"></textarea> <textarea name="bar"></textarea> </p></form>""") | HTMLFormFiller(data={'foo': 'Some text'}) self.assertEquals("""<form><p> <textarea name="foo">Some text</textarea> <textarea name="bar"/> </p></form>""", html.render())
def test_fill_option_unicode_value(self): html = HTML(u"""<form> <select name="foo"> <option value="ö">foo</option> </select> </form>""") | HTMLFormFiller(data={'foo': u'ö'}) self.assertEquals(u"""<form> <select name="foo"> <option value="ö" selected="selected">foo</option> </select> </form>""", html.render(encoding=None))
def test_fill_option_segmented_text_no_value(self): html = MarkupTemplate("""<form> <select name="foo"> <option>foo $x bar</option> </select> </form>""").generate(x=1) | HTMLFormFiller(data={'foo': 'foo 1 bar'}) self.assertEquals("""<form> <select name="foo"> <option selected="selected">foo 1 bar</option> </select> </form>""", html.render())
def test_fill_select_single_value_defined(self): html = HTML("""<form><p> <select name="foo"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </p></form>""") | HTMLFormFiller(data={'foo': '1'}) self.assertEquals("""<form><p> <select name="foo"> <option value="1" selected="selected">1</option> <option value="2">2</option> <option value="3">3</option> </select> </p></form>""", unicode(html))
def test_fill_select_multi_value_auto(self): html = HTML("""<form><p> <select name="foo" multiple> <option>1</option> <option>2</option> <option>3</option> </select> </p></form>""") | HTMLFormFiller(data={'foo': ['1', '3']}) self.assertEquals("""<form><p> <select name="foo" multiple="multiple"> <option selected="selected">1</option> <option>2</option> <option selected="selected">3</option> </select> </p></form>""", unicode(html))
def test_fill_select_no_value_defined(self): html = HTML(u"""<form><p> <select name="foo"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </p></form>""") | HTMLFormFiller() self.assertEquals("""<form><p> <select name="foo"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </p></form>""", html.render())
def test_fill_select_single_value_auto(self): html = HTML(u"""<form><p> <select name="foo"> <option>1</option> <option>2</option> <option>3</option> </select> </p></form>""") | HTMLFormFiller(data={'foo': '1'}) self.assertEquals("""<form><p> <select name="foo"> <option selected="selected">1</option> <option>2</option> <option>3</option> </select> </p></form>""", html.render())
def test_fill_select_multi_value_defined(self): html = HTML(u"""<form><p> <select name="foo" multiple> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </p></form>""") | HTMLFormFiller(data={'foo': ['1', '3']}) self.assertEquals("""<form><p> <select name="foo" multiple="multiple"> <option value="1" selected="selected">1</option> <option value="2">2</option> <option value="3" selected="selected">3</option> </select> </p></form>""", html.render())