def test_remove(self):
     request = TestRequest(
         form={
             'field.foo.remove_0': u'1',
             'field.foo.0.bar': u'existing',
             'field.foo.1.bar': u'second',
             'field.foo.remove': u'Remove selected items',
             'field.foo.count': u'2'
         })
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     widget.setRenderedValue((u'existing', u'second'))
     self.assertEquals(widget.getInputValue(), (u'second', ))
     check_list = (
         'checkbox',
         'field.foo.remove_0',
         'input',
         'field.foo.0.bar',
         'existing',
         'checkbox',
         'field.foo.remove_1',
         'input',
         'field.foo.1.bar',
         'second',
         'submit',
         'submit',
         'field.foo.add',
         'field.foo.count" value="2"',
     )
     self.verifyResult(widget(), check_list, inorder=True)
예제 #2
0
 def test_request(self):
     request = TestRequest(form={'field.foo.0.bar': u'Hello world!',
                                 'field.foo.count': u'1'})
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     self.assert_(widget.hasInput())
     self.assertEquals(widget.getInputValue(), (u'Hello world!',))
예제 #3
0
 def test_new(self):
     request = TestRequest()
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     self.failIf(widget.hasInput())
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = ('input', 'name="field.foo.add"')
     self.verifyResult(widget(), check_list)
 def test_new(self):
     request = TestRequest()
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     self.failIf(widget.hasInput())
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = ('input', 'name="field.foo.add"')
     self.verifyResult(widget(), check_list)
예제 #5
0
 def test_max(self):
     request = TestRequest()
     self.field.max_length = 1
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     widget.setRenderedValue((u'existing',))
     self.assertRaises(MissingInputError, widget.getInputValue)
     s = widget()
     self.assertEquals(s.find('field.foo.add'), -1)
 def test_request(self):
     request = TestRequest(form={
         'field.foo.0.bar': u'Hello world!',
         'field.foo.count': u'1'
     })
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     self.assert_(widget.hasInput())
     self.assertEquals(widget.getInputValue(), (u'Hello world!', ))
 def test_max(self):
     request = TestRequest()
     self.field.max_length = 1
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     widget.setRenderedValue((u'existing', ))
     self.assertRaises(MissingInputError, widget.getInputValue)
     s = widget()
     self.assertEquals(s.find('field.foo.add'), -1)
 def test_anonymousfield(self):
     self.field = Tuple(__name__=u'foo', value_type=TextLine())
     request = TestRequest()
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     widget.setRenderedValue((u'existing', ))
     s = widget()
     check_list = ('input', '"field.foo.0."', 'existing', 'submit',
                   'submit', 'field.foo.add')
     s = widget()
     self.verifyResult(s, check_list, inorder=True)
예제 #9
0
 def test_add(self):
     request = TestRequest(form={'field.foo.add': u'Add bar',
                                 'field.foo.count': u'0'})
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     self.assert_(widget.hasInput())
     self.assertRaises(WidgetInputError, widget.getInputValue)
     check_list = (
         'checkbox', 'field.foo.remove_0', 'input', 'field.foo.0.bar',
         'submit', 'submit', 'field.foo.add'
     )
     self.verifyResult(widget(), check_list, inorder=True)
 def test_add(self):
     request = TestRequest(form={
         'field.foo.add': u'Add bar',
         'field.foo.count': u'0'
     })
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     self.assert_(widget.hasInput())
     self.assertRaises(WidgetInputError, widget.getInputValue)
     check_list = ('checkbox', 'field.foo.remove_0', 'input',
                   'field.foo.0.bar', 'submit', 'submit', 'field.foo.add')
     self.verifyResult(widget(), check_list, inorder=True)
 def test_min(self):
     request = TestRequest()
     self.field.min_length = 2
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     widget.setRenderedValue((u'existing', ))
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = ('input', 'field.foo.0.bar', 'existing', 'input',
                   'field.foo.1.bar', 'value=""', 'submit', 'field.foo.add')
     s = widget()
     self.verifyResult(s, check_list, inorder=True)
     self.assertEquals(s.find('checkbox'), -1)
예제 #12
0
    def test_usererror(self):
        self.field = Tuple(__name__=u'foo',
                           value_type=TextLine(__name__='bar'))
        request = TestRequest(form={
            'field.foo.0.bar': u'', 'field.foo.1.bar': u'nonempty',
            'field.foo.count': u'2'})
        widget = TupleSequenceWidget(
            self.field, self.field.value_type, request)
        # Rendering a widget should not raise errors!
        widget()

        data = widget._generateSequence()
        self.assertEquals(data, [None, u'nonempty'])
예제 #13
0
 def test_anonymousfield(self):
     self.field = Tuple(__name__=u'foo', value_type=TextLine())
     request = TestRequest()
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     widget.setRenderedValue((u'existing',))
     s = widget()
     check_list = (
         'input', '"field.foo.0."', 'existing',
         'submit', 'submit', 'field.foo.add'
     )
     s = widget()
     self.verifyResult(s, check_list, inorder=True)
예제 #14
0
 def test_min(self):
     request = TestRequest()
     self.field.min_length = 2
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     widget.setRenderedValue((u'existing',))
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = (
         'input', 'field.foo.0.bar', 'existing',
         'input', 'field.foo.1.bar', 'value=""',
         'submit', 'field.foo.add'
     )
     s = widget()
     self.verifyResult(s, check_list, inorder=True)
     self.assertEquals(s.find('checkbox'), -1)
    def test_usererror(self):
        self.field = Tuple(__name__=u'foo',
                           value_type=TextLine(__name__='bar'))
        request = TestRequest(
            form={
                'field.foo.0.bar': u'',
                'field.foo.1.bar': u'nonempty',
                'field.foo.count': u'2'
            })
        widget = TupleSequenceWidget(self.field, self.field.value_type,
                                     request)
        # Rendering a widget should not raise errors!
        widget()

        data = widget._generateSequence()
        self.assertEquals(data, [None, u'nonempty'])
예제 #16
0
 def test_existing(self):
     request = TestRequest()
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     widget.setRenderedValue((u'existing',))
     self.failIf(widget.hasInput())
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = (
         'checkbox', 'field.foo.remove_0', 'input', 'field.foo.0.bar',
             'existing',
         'submit', 'submit', 'field.foo.add',
         'field.foo.count" value="1"',
     )
     self.verifyResult(widget(), check_list, inorder=True)
     widget.setRenderedValue((u'existing', u'second'))
     self.failIf(widget.hasInput())
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = (
         'checkbox', 'field.foo.remove_0', 'input', 'field.foo.0.bar',
             'existing',
         'checkbox', 'field.foo.remove_1', 'input', 'field.foo.1.bar',
             'second',
         'submit', 'submit', 'field.foo.add',
         'field.foo.count" value="2"',
     )
     self.verifyResult(widget(), check_list, inorder=True)
예제 #17
0
 def test_remove(self):
     request = TestRequest(form={
         'field.foo.remove_0': u'1',
         'field.foo.0.bar': u'existing', 'field.foo.1.bar': u'second',
         'field.foo.remove': u'Remove selected items',
         'field.foo.count': u'2'})
     widget = TupleSequenceWidget(
         self.field, self.field.value_type, request)
     widget.setRenderedValue((u'existing', u'second'))
     self.assertEquals(widget.getInputValue(), (u'second',))
     check_list = (
         'checkbox', 'field.foo.remove_0', 'input', 'field.foo.0.bar',
             'existing',
         'checkbox', 'field.foo.remove_1', 'input', 'field.foo.1.bar',
             'second',
         'submit', 'submit', 'field.foo.add',
         'field.foo.count" value="2"',
     )
     self.verifyResult(widget(), check_list, inorder=True)
 def test_existing(self):
     request = TestRequest()
     widget = TupleSequenceWidget(self.field, self.field.value_type,
                                  request)
     widget.setRenderedValue((u'existing', ))
     self.failIf(widget.hasInput())
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = (
         'checkbox',
         'field.foo.remove_0',
         'input',
         'field.foo.0.bar',
         'existing',
         'submit',
         'submit',
         'field.foo.add',
         'field.foo.count" value="1"',
     )
     self.verifyResult(widget(), check_list, inorder=True)
     widget.setRenderedValue((u'existing', u'second'))
     self.failIf(widget.hasInput())
     self.assertRaises(MissingInputError, widget.getInputValue)
     check_list = (
         'checkbox',
         'field.foo.remove_0',
         'input',
         'field.foo.0.bar',
         'existing',
         'checkbox',
         'field.foo.remove_1',
         'input',
         'field.foo.1.bar',
         'second',
         'submit',
         'submit',
         'field.foo.add',
         'field.foo.count" value="2"',
     )
     self.verifyResult(widget(), check_list, inorder=True)