def test_parse_empty_select(self): html = ''' <select name="instrument"></select> ''' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields[0], fields.Select)) assert_equal(_fields[0].value, '') assert_equal(_fields[0].options, [])
def test_parse_select_multi(self): html = ''' <select name="instrument" multiple> <option value="vocals">vocals</option> <option value="guitar">guitar</option> <option value="drums">drums</option> <option value="bass">bass</option> </select> ''' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields[0], fields.MultiSelect))
def test_parse_checkbox(self): html = ''' <input type="checkbox" name="favorite_member" />freddie<br /> <input type="checkbox" name="favorite_member" />brian<br /> <input type="checkbox" name="favorite_member" />roger<br /> <input type="checkbox" name="favorite_member" />john<br /> <input type="checkbox" name="favorite_song" />rhapsody<br /> <input type="checkbox" name="favorite_song" />killer<br /> ''' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 2) assert_true(isinstance(_fields[0], fields.Checkbox)) assert_true(isinstance(_fields[1], fields.Checkbox)) assert_equal(len(_fields[0]._parsed), 4) assert_equal(len(_fields[1]._parsed), 2)
def test_parse_radio(self): html = ''' <input type="radio" name="favorite_member" />freddie<br /> <input type="radio" name="favorite_member" />brian<br /> <input type="radio" name="favorite_member" />roger<br /> <input type="radio" name="favorite_member" />john<br /> <input type="radio" name="favorite_song" />rhapsody<br /> <input type="radio" name="favorite_song" />killer<br /> ''' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 2) assert_true(isinstance(_fields['favorite_member'], fields.Radio)) assert_true(isinstance(_fields['favorite_song'], fields.Radio)) assert_equal( len(_fields['favorite_member']._parsed), 4 ) assert_equal( len(_fields['favorite_song']._parsed), 2 )
def test_parse_textarea(self): html = '<textarea name="band">queen</textarea>' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields[0], fields.Textarea))
def test_parse_file_input(self): html = '<input name="band" type="file" />' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields[0], fields.FileInput))
def test_parse_button(self): html = '<button type="button" name="yes" value="yes" />' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields[0], fields.Button))
def test_parse_input(self): html = '<input name="band" value="queen" />' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields[0], fields.Input))
def test_parse_file_input(self): html = '<input name="band" type="file" />' _fields = _parse_fields(BeautifulSoup(html)) assert_equal(len(_fields), 1) assert_true(isinstance(_fields['band'], fields.FileInput))