Ejemplo n.º 1
0
    def test_stacked_config(self):
        form = RegistrationForm()
        config = FormConfig()

        config.push()
        config.configure(
            'widget', widgets.Textarea(),
            filter=ConfigFilter("CharField"),
        )

        config.push()
        config.configure(
            'widget', widgets.HiddenInput(),
            filter=ConfigFilter('short_biography'),
        )

        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.HiddenInput)

        config.pop()
        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.Textarea)

        config.pop()
        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.TextInput)
Ejemplo n.º 2
0
    def test_stacked_config(self):
        form = RegistrationForm()
        config = FormConfig()

        config.push()
        config.configure(
            'widget',
            widgets.Textarea(),
            filter=ConfigFilter("CharField"),
        )

        config.push()
        config.configure(
            'widget',
            widgets.HiddenInput(),
            filter=ConfigFilter('short_biography'),
        )

        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.HiddenInput)

        config.pop()
        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.Textarea)

        config.pop()
        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.TextInput)
Ejemplo n.º 3
0
    def test_filter_for_widget_class_name(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure('widget',
                         widgets.TextInput(),
                         filter=ConfigFilter('Textarea'))

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        # swap widgets TextInput <> Textarea

        config = FormConfig()
        config.configure('widget',
                         widgets.Textarea(),
                         filter=ConfigFilter('TextInput'))
        config.configure('widget',
                         widgets.TextInput(),
                         filter=ConfigFilter('Textarea'))

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.Textarea)
Ejemplo n.º 4
0
    def test_default_retrieve(self):
        """
        Test if FormConfig returns the correct default values if no
        configuration was made.
        """
        form = RegistrationForm()
        config = FormConfig()

        # retrieve widget

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertTrue(isinstance(widget, widgets.TextInput))
        self.assertEqual(widget, form.fields['name'].widget)

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertTrue(isinstance(widget, widgets.Textarea))
        self.assertEqual(widget, form.fields['comment'].widget)

        # retrieve widget template

        template_name = config.retrieve('widget_template',
                                        bound_field=form['name'])
        self.assertEqual(template_name, 'floppyforms/text.html')

        template_name = config.retrieve('widget_template',
                                        bound_field=form['comment'])
        self.assertEqual(template_name, 'floppyforms/textarea.html')

        # retrieve label

        label = config.retrieve('label', bound_field=form['email'])
        self.assertEqual(label, 'Email')

        label = config.retrieve('label', bound_field=form['name'])
        self.assertEqual(label, 'First- and Lastname')

        # retrieve help text

        help_text = config.retrieve('help_text', bound_field=form['name'])
        self.assertFalse(help_text)

        help_text = config.retrieve('help_text', bound_field=form['email'])
        self.assertEqual(help_text, 'Please enter a valid email.')

        # retrieve row template

        template = config.retrieve('row_template',
                                   fields=(
                                       form['name'],
                                       form['email'],
                                   ))
        self.assertEqual(template, 'floppyforms/rows/default.html')

        # retrieve form layout

        template = config.retrieve('layout', forms=(form, ))
        self.assertEqual(template, 'floppyforms/layouts/default.html')
Ejemplo n.º 5
0
    def test_filter_for_field_class_name(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure('widget', widgets.TextInput(), filter=ConfigFilter('CharField'))

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.TextInput)
    def test_filter_for_field_class_name(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure("widget", widgets.TextInput(), filter=ConfigFilter("CharField"))

        widget = config.retrieve("widget", bound_field=form["comment"])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve("widget", bound_field=form["name"])
        self.assertEqual(widget.__class__, widgets.TextInput)
Ejemplo n.º 7
0
    def test_default_retrieve(self):
        """
        Test if FormConfig returns the correct default values if no
        configuration was made.
        """
        form = RegistrationForm()
        config = FormConfig()

        # retrieve widget

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertTrue(isinstance(widget, widgets.TextInput))
        self.assertEqual(widget, form.fields['name'].widget)

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertTrue(isinstance(widget, widgets.Textarea))
        self.assertEqual(widget, form.fields['comment'].widget)

        # retrieve widget template

        template_name = config.retrieve('widget_template', bound_field=form['name'])
        self.assertEqual(template_name, 'floppyforms/input.html')

        template_name = config.retrieve('widget_template', bound_field=form['comment'])
        self.assertEqual(template_name, 'floppyforms/textarea.html')

        # retrieve label

        label = config.retrieve('label', bound_field=form['email'])
        self.assertEqual(label, 'Email')

        label = config.retrieve('label', bound_field=form['name'])
        self.assertEqual(label, 'First- and Lastname')

        # retrieve help text

        help_text = config.retrieve('help_text', bound_field=form['name'])
        self.assertFalse(help_text)

        help_text = config.retrieve('help_text', bound_field=form['email'])
        self.assertEqual(help_text, 'Please enter a valid email.')

        # retrieve row template

        template = config.retrieve('row_template', fields=(form['name'], form['email'],))
        self.assertEqual(template, 'floppyforms/rows/default.html')

        # retrieve form layout

        template = config.retrieve('layout', forms=(form,))
        self.assertEqual(template, 'floppyforms/layouts/default.html')
    def test_default_retrieve(self):
        """
        Test if FormConfig returns the correct default values if no
        configuration was made.
        """
        form = RegistrationForm()
        config = FormConfig()

        # retrieve widget

        widget = config.retrieve("widget", bound_field=form["name"])
        self.assertTrue(isinstance(widget, widgets.TextInput))
        self.assertEqual(widget, form.fields["name"].widget)

        widget = config.retrieve("widget", bound_field=form["comment"])
        self.assertTrue(isinstance(widget, widgets.Textarea))
        self.assertEqual(widget, form.fields["comment"].widget)

        # retrieve widget template

        template_name = config.retrieve("widget_template", bound_field=form["name"])
        self.assertEqual(template_name, "floppyforms/text.html")

        template_name = config.retrieve("widget_template", bound_field=form["comment"])
        self.assertEqual(template_name, "floppyforms/textarea.html")

        # retrieve label

        label = config.retrieve("label", bound_field=form["email"])
        self.assertEqual(label, "Email")

        label = config.retrieve("label", bound_field=form["name"])
        self.assertEqual(label, "First- and Lastname")

        # retrieve help text

        help_text = config.retrieve("help_text", bound_field=form["name"])
        self.assertFalse(help_text)

        help_text = config.retrieve("help_text", bound_field=form["email"])
        self.assertEqual(help_text, "Please enter a valid email.")

        # retrieve row template

        template = config.retrieve("row_template", fields=(form["name"], form["email"]))
        self.assertEqual(template, "floppyforms/rows/default.html")

        # retrieve form layout

        template = config.retrieve("layout", forms=(form,))
        self.assertEqual(template, "floppyforms/layouts/default.html")
Ejemplo n.º 9
0
    def test_filter_for_name_object(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure('widget', widgets.Textarea(), filter=ConfigFilter('object'))

        widget = config.retrieve('widget', bound_field=form['email'])
        self.assertEqual(widget.__class__, widgets.EmailInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.Textarea)
    def test_filter_for_name_object(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure("widget", widgets.Textarea(), filter=ConfigFilter("object"))

        widget = config.retrieve("widget", bound_field=form["email"])
        self.assertEqual(widget.__class__, widgets.EmailInput)

        widget = config.retrieve("widget", bound_field=form["name"])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve("widget", bound_field=form["comment"])
        self.assertEqual(widget.__class__, widgets.Textarea)
Ejemplo n.º 11
0
    def test_filter_for_name_object(self):
        form = RegistrationForm()

        config = FormConfig()
        config.configure('widget', widgets.Textarea(), filter=ConfigFilter('object'))

        widget = config.retrieve('widget', bound_field=form['email'])
        self.assertEqual(widget.__class__, widgets.EmailInput)

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.TextInput)

        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.Textarea)
    def test_retrieve_for_multiple_valid_values(self):
        form = RegistrationForm()
        config = FormConfig()

        config.configure("widget", widgets.Textarea(), filter=ConfigFilter("CharField"))
        config.configure("widget", widgets.HiddenInput(), filter=ConfigFilter("short_biography"))

        widget = config.retrieve("widget", bound_field=form["name"])
        self.assertEqual(widget.__class__, widgets.Textarea)
        widget = config.retrieve("widget", bound_field=form["comment"])
        self.assertEqual(widget.__class__, widgets.Textarea)

        # we get HiddenInput since this was configured last, even the Textarea
        # config applies to ``short_biography``
        widget = config.retrieve("widget", bound_field=form["short_biography"])
        self.assertEqual(widget.__class__, widgets.HiddenInput)
    def test_field_filter_works_on_subclasses(self):
        form = RegistrationForm()
        config = FormConfig()

        config.configure("widget", widgets.HiddenInput(), filter=ConfigFilter("IntegerField"))

        widget = config.retrieve("widget", bound_field=form["age"])
        self.assertEqual(widget.__class__, widgets.HiddenInput)
Ejemplo n.º 14
0
    def test_field_filter_works_on_subclasses(self):
        form = RegistrationForm()
        config = FormConfig()

        config.configure('widget',
                         widgets.HiddenInput(),
                         filter=ConfigFilter("IntegerField"))

        widget = config.retrieve('widget', bound_field=form['age'])
        self.assertEqual(widget.__class__, widgets.HiddenInput)
Ejemplo n.º 15
0
    def test_retrieve_for_multiple_valid_values(self):
        form = RegistrationForm()
        config = FormConfig()

        config.configure('widget',
                         widgets.Textarea(),
                         filter=ConfigFilter('CharField'))
        config.configure('widget',
                         widgets.HiddenInput(),
                         filter=ConfigFilter('short_biography'))

        widget = config.retrieve('widget', bound_field=form['name'])
        self.assertEqual(widget.__class__, widgets.Textarea)
        widget = config.retrieve('widget', bound_field=form['comment'])
        self.assertEqual(widget.__class__, widgets.Textarea)

        # we get HiddenInput since this was configured last, even the Textarea
        # config applies to ``short_biography``
        widget = config.retrieve('widget', bound_field=form['short_biography'])
        self.assertEqual(widget.__class__, widgets.HiddenInput)