def test_alternative_missing_value(self):
        """Tests the addition of an empty value at the top of the dropdown
        that, when selected, updates the field with form.missing_value.
        """
        foo = IntTest2() # note alt. class
        request = TestRequest()
        
        html = Form2(foo, request)()

        # confirm that i1 is has a blank item at top with value=""
        self.assert_(patternExists(
            '<select id="form.i1" name="form.i1" .*>', html))
        self.assert_(patternExists(
            '<option value="">.*</option>', html))
        self.assert_(patternExists(
            '<option selected="selected" value="10">10</option>',
            html))

        # submit form as if top item is selected
        request.form['form.i1-empty-marker'] = '1'
        request.form['form.actions.apply'] = u''
        html = Form2(foo, request)()
        
        # confirm new value is -1 -- i1.missing_value
        self.assertEqual(foo.i1, -1)
示例#2
0
    def test_display_editform(self):
        foo = FileTest()
        request = TestRequest()

        # display edit view
        html = Form(foo, request)()

        # field should be displayed in a file input element
        self.assert_(
            patternExists('<input .* name="form.f1".* type="file".*>', html))
        self.assert_(
            patternExists('<input .* name="form.f2".* type="file".*>', html))
    def test_display_editform(self):
        foo = FileTest()
        request = TestRequest()

        # display edit view
        html = Form(foo, request)()

        # field should be displayed in a file input element
        self.assert_(patternExists(
            '<input .* name="form.f1".* type="file".*>', html))
        self.assert_(patternExists(
            '<input .* name="form.f2".* type="file".*>', html))
    def test_display_editform(self):
        foo = FloatTest()
        request = TestRequest()

        # display edit view
        html = Form(foo, request)()

        # f1 and f2 should be displayed in text fields
        self.assert_(patternExists('<input .* name="form.f1".* value="".*>', html))
        self.assert_(patternExists('<input .* name="form.f2".* value="1.1".*>', html))

        # f3 should be in a dropdown
        self.assert_(patternExists('<select .*name="form.f3".*>', html))
        self.assert_(patternExists('<option selected="selected" value="2.1">2.1</option>', html))
示例#5
0
    def test_display_editform(self):
        foo = TextTest()
        request = TestRequest()

        html = Form(foo, request)()

        # all fields should be displayed in text fields
        self.assert_(
            patternExists('<textarea .* name="form.s1".*></textarea>', html))
        self.assert_(
            patternExists('<textarea .* name="form.s2".*>foo</textarea>',
                          html))
        self.assert_(
            patternExists('<textarea .* name="form.s3".*></textarea>', html))
    def test_display_editform(self):
        foo = TextLineTest()
        request = TestRequest()

        # display edit view

        html = Form(foo, request)()

        # s1 and s2 should be displayed in text fields
        self.assert_(patternExists('<input .* name="form.s1".* value="".*>', html))
        self.assert_(patternExists('<input .* name="form.s2".* value="foo".*>', html))

        # s3 should be in a dropdown
        self.assert_(patternExists('<select .*name="form.s3".*>', html))
        self.assert_(patternExists('<option selected="selected" value="">.*</option>', html))
    def test_display_editform(self):
        foo = TextTest()
        request = TestRequest()

        html = Form(foo, request)()
    
        # all fields should be displayed in text fields
        self.assert_(patternExists(
            '<textarea .* name="form.s1".*></textarea>',
            html))
        self.assert_(patternExists(
            '<textarea .* name="form.s2".*>foo</textarea>',
            html))
        self.assert_(patternExists(
            '<textarea .* name="form.s3".*></textarea>',
            html))
    def test_display_editform(self):
        foo = IntTest()
        request = TestRequest()

        html = Form(foo, request)()

        # i1 and i2 should be displayed in text fields
        self.assert_(
            patternExists('<input .* name="form.i1".* value="".*>', html))
        self.assert_(
            patternExists('<input .* name="form.i2".* value="1".*>', html))

        # i3 should be in a dropdown
        self.assert_(patternExists('<select .*name="form.i3".*>', html))
        self.assert_(
            patternExists('<option selected="selected" value="2">2</option>',
                          html))
示例#9
0
    def test_display_editform(self):
        foo = DecimalTest()
        request = TestRequest()

        html = Form(foo, request)()

        # f1 and f2 should be displayed in text fields
        self.assertTrue(
            patternExists('<input .* name="form.f1".* value="".*>', html))
        self.assertTrue(
            patternExists('<input .* name="form.f2".* value="1.1".*>', html))

        # f3 should be in a dropdown
        self.assertTrue(patternExists('<select .*name="form.f3".*>', html))
        self.assertTrue(
            patternExists(
                '<option selected="selected" value="2.1">2.1</option>', html))
 def test_display_editform(self):
     foo = BoolTest()
     request = TestRequest()
     html = Form(foo, request)()
     
     # b1 and b2 should be displayed in checkbox input fields
     self.assert_(patternExists(
         '<input .* checked="checked".* name="form.b1".* ' \
         'type="checkbox".* />',
         html))
     self.assert_(patternExists(
         '<input .* name="form.b2".* type="checkbox".* />',
         html))
     # confirm that b2 is *not* checked
     self.assert_(not patternExists(
         '<input .* checked="checked".* name="form.b2".* ' \
         'type="checkbox".* />',
         html))
    def test_display_editform(self):
        foo = Foo()
        request = TestRequest()
        html = Form(foo, request)()

        # bar field should be displayed as two radio buttons
        self.assert_(patternExists(
            '<input .*checked="checked".*name="form.bar".*type="radio".*'
            'value="on".* />',
            html))
        self.assert_(patternExists(
            '<input .*name="form.bar".*type="radio".*value="off".* />',
            html))

        # a hidden element is used to note that the field is present
        self.assert_(patternExists(
            '<input name="form.bar-empty-marker" type="hidden" value="1".* />',
            html))
 def test_display_editform(self):
     foo = IntTest()
     request = TestRequest()
     
     html = Form(foo, request)()
     
     # i1 and i2 should be displayed in text fields
     self.assert_(patternExists(
         '<input .* name="form.i1".* value="".*>', html))
     self.assert_(patternExists(
         '<input .* name="form.i2".* value="1".*>', html))
     
     # i3 should be in a dropdown
     self.assert_(patternExists(
         '<select .*name="form.i3".*>', html))
     self.assert_(patternExists(
         '<option selected="selected" value="2">2</option>',
         html))
示例#13
0
    def test_display_editform(self):
        foo = BoolTest()
        request = TestRequest()
        html = Form(foo, request)()

        # b1 and b2 should be displayed in checkbox input fields
        self.assert_(patternExists(
            '<input .* checked="checked".* name="form.b1".* ' \
            'type="checkbox".* />',
            html))
        self.assert_(
            patternExists('<input .* name="form.b2".* type="checkbox".* />',
                          html))
        # confirm that b2 is *not* checked
        self.assert_(not patternExists(
            '<input .* checked="checked".* name="form.b2".* ' \
            'type="checkbox".* />',
            html))
    def test_display_editform(self):
        foo = TextLineTest()
        request = TestRequest()

        # display edit view

        html = Form(foo, request)()

        # s1 and s2 should be displayed in text fields
        self.assert_(
            patternExists('<input .* name="form.s1".* value="".*>', html))
        self.assert_(
            patternExists('<input .* name="form.s2".* value="foo".*>', html))

        # s3 should be in a dropdown
        self.assert_(patternExists('<select .*name="form.s3".*>', html))
        self.assert_(
            patternExists('<option selected="selected" value="">.*</option>',
                          html))
    def test_display_editform(self):
        foo = Foo()
        request = TestRequest()
        html = Form(foo, request)()

        # bar field should be displayed as two radio buttons
        self.assert_(
            patternExists(
                '<input .*checked="checked".*name="form.bar".*type="radio".*'
                'value="on".* />', html))
        self.assert_(
            patternExists(
                '<input .*name="form.bar".*type="radio".*value="off".* />',
                html))

        # a hidden element is used to note that the field is present
        self.assert_(
            patternExists(
                '<input name="form.bar-empty-marker" type="hidden" value="1".* />',
                html))
    def test_conversion(self):
        foo = TextTest()
        request = TestRequest()

        # confirm that line terminators are converted correctly on post
        request.form['form.s2'] = u'line1\r\nline2' # CRLF per RFC 822 
        request.form['form.actions.apply'] = u''
        html = Form(foo, request)()
        
        self.assertEqual(foo.s2, u'line1\nline2')

        # confirm conversion to HTML

        request = TestRequest()
        html = Form(foo, request)()
        self.assert_(patternExists('line1\r\nline2', html))
示例#17
0
    def test_conversion(self):
        foo = TextTest()
        request = TestRequest()

        # confirm that line terminators are converted correctly on post
        request.form['form.s2'] = u'line1\r\nline2'  # CRLF per RFC 822
        request.form['form.actions.apply'] = u''
        html = Form(foo, request)()

        self.assertEqual(foo.s2, u'line1\nline2')

        # confirm conversion to HTML

        request = TestRequest()
        html = Form(foo, request)()
        self.assert_(patternExists('line1\r\nline2', html))
示例#18
0
文件: support.py 项目: CGTIC/Plone_SP
def invalidValueErrorExists(field, source):
    # assumes this error is displayed for select elements
    return patternExists(
        'Invalid value.*name="field.%s".*</select>' % field,
        source, re.DOTALL)
示例#19
0
文件: support.py 项目: CGTIC/Plone_SP
def updatedMsgExists(source):
    return patternExists('<p>Updated .*</p>', source)
示例#20
0
def updatedMsgExists(source):
    return patternExists('<p>Updated .*</p>', source)
示例#21
0
def invalidValueErrorExists(field, source):
    # assumes this error is displayed for select elements
    return patternExists('Invalid value.*name="field.%s".*</select>' % field,
                         source, re.DOTALL)
示例#22
0
    def test_display_editform(self):
        foo = RadioTest()
        request = TestRequest()

        # display edit view
        html = Form(foo, request)()
        
        # S3
        self.assert_(patternExists(
            '<select .* name="form.s3".*>',
            html))
        self.assert_(patternExists(
            '<option selected="selected" value="">',
            html))
        self.assert_(patternExists(
            '<option value="Bob">',
            html))
        self.assert_(patternExists(
            '<option value="is">',
            html))
        self.assert_(patternExists(
            '<option value="Your">',
            html))
        self.assert_(patternExists(
            '<option value="Uncle">',
            html))

        # S4
        joined_body = "".join(html.split("\n"))
        self.failIf(patternExists(
            '<select.*name="form.s4".*>.*<option.*value="".*>',
            joined_body))
        self.assert_(patternExists(
            '<select .* name="form.s4".*>',
            html))
        self.assert_(patternExists(
            '<option selected="selected" value="1">',
            html))
        self.assert_(patternExists(
            '<option value="2">',
            html))
        self.assert_(patternExists(
            '<option value="3">',
            html))

        request = TestRequest()
        request.form['form.s3'] = u'Bob'
        request.form['form.s4'] = u'2'
        request.form['form.actions.apply'] = u''
        
        # display edit view
        html = Form(foo, request)()

        self.assert_(patternExists(
            '<option selected="selected" value="Bob">',
            html))
        self.assert_(patternExists(
            '<option selected="selected" value="2">',
            html))

        
        html = Form(foo, request)()
        self.assert_(patternExists(
            '<option selected="selected" value="Bob">',
            html))
        self.assert_(patternExists(
            '<option selected="selected" value="2">',
            html))

        request = TestRequest()
        request.form['form.s3'] = u''
        request.form['form.actions.apply'] = u''
        
        html = Form(foo, request)()
        self.assert_(patternExists(
            '<option selected="selected" value="">',
            html))
        self.assert_(patternExists(
            '<option selected="selected" value="2">',
            html))

        request = TestRequest()
        html = Form(foo, request)()

        self.assert_(patternExists(
            '<option selected="selected" value="">',
            html))