예제 #1
0
 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, [])
예제 #2
0
 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))
예제 #3
0
 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)
예제 #4
0
 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
     )
예제 #5
0
 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))
예제 #6
0
 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))
예제 #7
0
 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))
예제 #8
0
 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))
예제 #9
0
 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))
예제 #10
0
 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))
예제 #11
0
 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))