Ejemplo n.º 1
0
    def buttons_must_be_readable_to_be_present(self):
        self.readable = Allowed(False)
        self.writable = Allowed(True)
        self.input_widget = ButtonInput(self.form, self.event)

        self.expected_html = ''
Ejemplo n.º 2
0
    def empty_rendering(self):
        self.readable = Allowed(False)
        self.writable = Allowed(False)
        self.input_widget = TextInput(self.form, self.field)

        self.expected_html = ''
Ejemplo n.º 3
0
    def greyed_button_rendering(self):
        self.readable = Allowed(True)
        self.writable = Allowed(False)
        self.input_widget = ButtonInput(self.form, self.event)

        self.expected_html = '<input name="event.some_form-event_name?" id="id-event-46-some_form-event_name-63-" disabled="disabled" form="some_form" type="submit" value="event_name" class="reahl-primitiveinput">'
Ejemplo n.º 4
0
class InputRenderingScenarios(Fixture):

    def new_form(self):
        return Form(self.web_fixture.view, 'some_form')

    def new_field(self):
        field = Field(default=3, readable=self.readable, writable=self.writable)
        field.bind('field_name', EmptyStub())
        return field

    def new_event(self):
        event = Event(readable=self.readable, writable=self.writable)
        event.bind('event_name', EmptyStub())
        self.form.define_event_handler(event)
        return event

    @scenario
    def normal_rendering(self):
        self.readable = Allowed(True)
        self.writable = Allowed(True)
        self.input_widget = TextInput(self.form, self.field)

        self.expected_html = '<input name="some_form-field_name" id="id-some_form-field_name" form="some_form" type="text" value="3" class="reahl-primitiveinput reahl-textinput">'

    @scenario
    def disabled_rendering(self):
        self.readable = Allowed(True)
        self.writable = Allowed(False)
        self.input_widget = TextInput(self.form, self.field)

        self.expected_html = '<input name="some_form-field_name" id="id-some_form-field_name" disabled="disabled" form="some_form" type="text" value="3" class="reahl-primitiveinput reahl-textinput">'

    @scenario
    def valueless_rendering(self):
        self.readable = Allowed(False)
        self.writable = Allowed(True)
        self.input_widget = TextInput(self.form, self.field)

        self.expected_html = '<input name="some_form-field_name" id="id-some_form-field_name" form="some_form" type="text" value="" class="reahl-primitiveinput reahl-textinput">'

    @scenario
    def empty_rendering(self):
        self.readable = Allowed(False)
        self.writable = Allowed(False)
        self.input_widget = TextInput(self.form, self.field)

        self.expected_html = ''

    @scenario
    def normal_button_rendering(self):
        self.readable = Allowed(True)
        self.writable = Allowed(True)
        self.input_widget = ButtonInput(self.form, self.event)

        self.expected_html = '<input name="event.some_form-event_name?" id="id-event-46-some_form-event_name-63-" form="some_form" type="submit" value="event_name" class="reahl-primitiveinput">'

    @scenario
    def greyed_button_rendering(self):
        self.readable = Allowed(True)
        self.writable = Allowed(False)
        self.input_widget = ButtonInput(self.form, self.event)

        self.expected_html = '<input name="event.some_form-event_name?" id="id-event-46-some_form-event_name-63-" disabled="disabled" form="some_form" type="submit" value="event_name" class="reahl-primitiveinput">'

    @scenario
    def buttons_must_be_readable_to_be_present(self):
        self.readable = Allowed(False)
        self.writable = Allowed(True)
        self.input_widget = ButtonInput(self.form, self.event)

        self.expected_html = ''

    @scenario
    def nothing_allowed_on_button(self):
        self.readable = Allowed(False)
        self.writable = Allowed(False)
        self.input_widget = ButtonInput(self.form, self.event)

        self.expected_html = ''

    def allowed(self):
        return True
    def disallowed(self):
        return False

    @scenario
    def not_readable_widget(self):
        self.input_widget = Widget(self.web_fixture.view, read_check=self.disallowed)
        self.input_widget.add_child(P(self.web_fixture.view, text='some text in a p'))

        self.expected_html = ''

    @scenario
    def readable_but_not_writable_widget(self):
        self.input_widget = Widget(self.web_fixture.view, read_check=self.allowed, write_check=self.disallowed)
        self.input_widget.add_child(P(self.web_fixture.view, text='some text in a p'))

        self.expected_html = '<p>some text in a p</p>'

    @scenario
    def readable_and_writable_widget(self):
        self.input_widget = Widget(self.web_fixture.view, read_check=self.allowed, write_check=self.allowed)
        self.input_widget.add_child(P(self.web_fixture.view, text='some text in a p'))

        self.expected_html = '<p>some text in a p</p>'

    @scenario
    def not_readable_but_writable_widget(self):
        # Think of password field, where the input's value is not readable by a human
        self.input_widget = Widget(self.web_fixture.view, read_check=self.disallowed, write_check=self.allowed)
        self.input_widget.add_child(P(self.web_fixture.view, text='some text in a p'))

        self.expected_html = ''
Ejemplo n.º 5
0
    def valueless_rendering(self):
        self.readable = Allowed(False)
        self.writable = Allowed(True)
        self.input_widget = TextInput(self.form, self.field)

        self.expected_html = '<input name="some_form-field_name" id="id-some_form-field_name" form="some_form" type="text" value="" class="reahl-primitiveinput reahl-textinput">'
Ejemplo n.º 6
0
 def normal_non_input_widget(self):
     """Normal Widgets do not participate by default"""
     self.widget = Widget(self.view)
     self.expects_participation = False
Ejemplo n.º 7
0
def test_widget_construct_error():
    """Passing anything other than a View as a Widget's view argument on construction results in an error."""

    with expected(IsInstance):
        Widget(EmptyStub())
Ejemplo n.º 8
0
            def __init__(self, view):
                super(TestPanel, self).__init__(view)
                widget = self.add_child(Widget(view))

                if fixture.security_sensitive:
                    widget.set_as_security_sensitive()
Ejemplo n.º 9
0
 def dynamic_column(self):
     self.total_column = DynamicColumn('Heading',
                                       lambda view, item: Widget(view),
                                       make_footer_widget=lambda view, item:
                                       TextNode(view, str(item.total)))
     self.expected_total = '123'
Ejemplo n.º 10
0
        def not_readable_widget(self):
            self.input_widget = Widget(self.view, read_check=self.disallowed)
            self.input_widget.add_child(P(self.view, text='some text in a p'))

            self.expected_html = ''
Ejemplo n.º 11
0
        def nothing_allowed_on_button(self):
            self.readable = Allowed(False)
            self.writable = Allowed(False)
            self.input_widget = ButtonInput(self.form, self.event)

            self.expected_html = ''
Ejemplo n.º 12
0
        def greyed_button_rendering(self):
            self.readable = Allowed(True)
            self.writable = Allowed(False)
            self.input_widget = ButtonInput(self.form, self.event)

            self.expected_html = '<input name="event.event_name?" disabled="disabled" form="some_form" type="submit" value="event_name">'
Ejemplo n.º 13
0
        def disabled_rendering(self):
            self.readable = Allowed(True)
            self.writable = Allowed(False)
            self.input_widget = TextInput(self.form, self.field)

            self.expected_html = '<input name="field_name" disabled="disabled" form="some_form" type="text" value="3" class="reahl-textinput">'
Ejemplo n.º 14
0
 def assemble(self):
     self.define_view('/a_page',
                      page=Widget.factory(),
                      view_class=BrokenView)