Beispiel #1
0
def test_global_state():
    """A Field can store its data in a global dict so that it can be recreated later with the same underlying data."""
    ExecutionContext().install()
    state_dict = {}
    a = Field()
    a.bind('x', a)

    a.input_status = EmptyStub()
    a.validation_error = EmptyStub()
    a.user_input = EmptyStub()
    a.parsed_input = EmptyStub()

    a.activate_global_field_data_store(state_dict)

    a.initial_value = EmptyStub()

    b = Field()
    b.bind('x', b)

    assert a.initial_value is not b.initial_value
    assert a.input_status is not b.input_status
    assert a.validation_error is not b.validation_error
    assert a.user_input is not b.user_input
    assert a.parsed_input is not b.parsed_input

    b.activate_global_field_data_store(state_dict)

    assert a.initial_value is b.initial_value
    assert a.input_status is b.input_status
    assert a.validation_error is b.validation_error
    assert a.user_input is b.user_input
    assert a.parsed_input is b.parsed_input
Beispiel #2
0
def test_when_initial_value_is_read():
    """The initial_value of a Field is set upon first activate_global_field_data_store"""
    ExecutionContext().install()
    state_dict = {}
    a = Field()
    a.bind('x', a)
    a.x = 'initial value for a'

    assert not a.initial_value

    a.activate_global_field_data_store(state_dict)

    assert a.initial_value == a.x

    a.x = 'changed value'
    a.activate_global_field_data_store(state_dict)

    assert a.initial_value != a.x