public function testValue() { $this->assert("Testing value"); $field = new \Ongoo\Component\Form\Field('field1'); $this->boolean($field->isValueSet())->isFalse()->boolean($field->hasChanged())->isFalse(); $field->initializeWith("foo"); $field->setValue("foo"); $this->boolean($field->isValueSet())->isTrue()->boolean($field->hasChanged())->isFalse()->string($field->getValue())->isEqualTo("foo"); $field->setValue(false); $this->boolean($field->isValueSet())->isTrue()->boolean($field->hasChanged())->isTrue()->boolean($field->getValue())->isFalse(); $field->setValue(new \Ongoo\Component\Form\Values\NotSetValue()); $this->boolean($field->isValueSet())->isFalse()->boolean($field->hasChanged())->isTrue(); $field->reset(); $this->boolean($field->isValueSet())->isTrue()->string($field->getValue())->isEqualTo("foo")->boolean($field->hasChanged())->isFalse(); $this->assert("Testing initializeWith"); $field->initializeWith("value1", "defaultValue1"); $this->boolean($field->isValueSet())->isTrue()->boolean($field->hasChanged())->isFalse()->string($field->getValue())->isEqualTo("value1")->string($field->getDefaultValue())->isEqualTo("defaultValue1"); $field->setValue("foo"); $this->boolean($field->isValueSet())->isTrue()->boolean($field->hasChanged())->isTrue()->string($field->getValue())->isEqualTo("foo")->string($field->getDefaultValue())->isEqualTo("defaultValue1"); $this->assert("Testing default value"); $field = new \Ongoo\Component\Form\Field('field1'); $field->setDefaultValue(new \Ongoo\Component\Form\Values\NotSetValue()); $this->boolean($field->isValueSet())->isFalse()->object($field->getDefaultValue())->isInstanceOf('\\Ongoo\\Component\\Form\\Values\\NotSetValue'); $field->setDefaultValue("foo"); $this->boolean($field->isValueSet())->isFalse()->string($field->getDefaultValue())->isEqualTo("foo"); $field->setValue(false); $this->boolean($field->isValueSet())->isTrue()->boolean($field->getValue())->isFalse()->string($field->getDefaultValue())->isEqualTo("foo"); $field->setDefaultValue(new \Ongoo\Component\Form\Values\NotSetValue()); $this->boolean($field->isValueSet())->isTrue()->boolean($field->getValue())->isFalse()->object($field->getDefaultValue())->isInstanceOf('\\Ongoo\\Component\\Form\\Values\\NotSetValue'); }