/** * {@inheritdoc} */ public function remove($name) { if ($this->readOnly) { throw new NotAllowedMethodException(__FUNCTION__, __CLASS__); } return parent::remove($name); }
public function testRemove() { $arr = new DotArray(['foo' => 'foo string!', 'bar' => ['bar1' => 'bar1 string!', 'bar2' => 'bar2 string!'], 'null' => null]); $this->assertTrue($arr->has('foo')); $this->assertTrue($arr->remove('foo')); $this->assertFalse($arr->has('foo')); $this->assertFalse($arr->has('bar.bar3')); $this->assertFalse($arr->remove('bar.bar3')); $this->assertFalse($arr->has('bar.bar2.unknown')); $this->assertFalse($arr->remove('bar.bar2.unknown')); $this->assertEquals(['bar1' => 'bar1 string!', 'bar2' => 'bar2 string!'], $arr->get('bar')); $this->assertTrue($arr->has('bar.bar2')); $this->assertTrue($arr->remove('bar.bar2')); $this->assertFalse($arr->has('bar.bar2')); $this->assertEquals(['bar1' => 'bar1 string!'], $arr->get('bar')); $this->assertFalse($arr->has('null.isnull')); $this->assertFalse($arr->remove('null.isnull')); $this->assertTrue($arr->has('null')); $this->assertTrue($arr->remove('null')); $this->assertFalse($arr->has('null')); $this->assertEquals(['bar' => ['bar1' => 'bar1 string!']], $arr->getRawData()); }