Beispiel #1
0
def test_boolean_validation(fixture):

    obj = EmptyStub()
    field = BooleanField()
    field.bind('boolean_attribute', obj)

    # Case: invalid
    invalid_boolean_name = ['negative', 'affirmative', '+', '-', None]
    for boolean_candidate in invalid_boolean_name:
        with expected(AllowedValuesConstraint):
            field.set_user_input(boolean_candidate)
        assert field.validation_error is field.get_validation_constraint_named(
            'pattern')

        # Case: valid
    field.from_input('on')
    assert obj.boolean_attribute is True
    assert field.as_input() == 'on'
    field.from_input('off')
    assert obj.boolean_attribute is False
    assert field.as_input() == 'off'

    # Case: required means True for BooleanField
    field = BooleanField(required=True)
    field.bind('boolean_attribute', obj)
    with expected(AllowedValuesConstraint):
        field.set_user_input('off')
    assert field.validation_error is field.get_validation_constraint_named(
        'pattern')
    with expected(NoException):
        field.from_input('on')
Beispiel #2
0
def test_boolean_i18n():
    context = LocaleContextStub(locale='af').install()

    obj = EmptyStub()
    field = BooleanField()
    field.bind('boolean_attribute', obj)

    # Case: valid
    field.from_input('aan')
    assert obj.boolean_attribute is True
    assert field.as_input() == 'aan'
    field.from_input('af')
    assert obj.boolean_attribute is False
    assert field.as_input() == 'af'
Beispiel #3
0
    def boolean_i18n(self, fixture):
        @stubclass(ExecutionContext)
        class AfrikaansContext(ExecutionContext):
            @property
            def interface_locale(self):
                return 'af'
            
        with AfrikaansContext():
            obj = EmptyStub()
            field = BooleanField()
            field.bind('boolean_attribute', obj)

            # Case: valid
            field.from_input('aan')
            vassert( obj.boolean_attribute is True )
            vassert( field.as_input() == 'aan' )
            field.from_input('af')
            vassert( obj.boolean_attribute is False )
            vassert( field.as_input() == 'af' )