public function testHasGetSet() { $object1 = new \DateTime(); $object2 = new \ArrayObject(); $this->assertFalse(Archive::has($object1, 'field1')); $this->assertFalse(Archive::has($object1, 'field2')); $this->assertFalse(Archive::has($object2, 'field3')); Archive::set($object1, 'field1', 'foo'); Archive::set($object1, 'field3', 'bar'); Archive::set($object2, 'field2', 'ups'); $this->assertTrue(Archive::has($object1, 'field1')); $this->assertFalse(Archive::has($object1, 'field2')); $this->assertTrue(Archive::has($object1, 'field3')); $this->assertFalse(Archive::has($object2, 'field1')); $this->assertTrue(Archive::has($object2, 'field2')); $this->assertFalse(Archive::has($object2, 'field3')); $this->assertSame('foo', Archive::get($object1, 'field1')); $this->assertSame('bar', Archive::get($object1, 'field3')); $this->assertSame('ups', Archive::get($object2, 'field2')); Archive::remove($object1, 'field1'); $this->assertFalse(Archive::has($object1, 'field1')); $this->assertTrue(Archive::has($object1, 'field3')); $this->assertTrue(Archive::has($object2, 'field2')); }
/** * Returns the original value of an embedded one. * * @param string $name The embedded one name. * * @return mixed The embedded one original value. * * @api */ public function getOriginalEmbeddedOneValue($name) { if (Archive::has($this, 'embedded_one.' . $name)) { return Archive::get($this, 'embedded_one.' . $name); } if (isset($this->data['embeddedsOne'][$name])) { return $this->data['embeddedsOne'][$name]; } return null; }