public function testClone_returnsData() { $data = $this->subject['offset3']; $filter = $this->subject->getFilter(); $validator = $this->subject->getValidator(); $clone = clone $this->subject; $this->assertNotSame($filter, $clone->getFilter()); $this->assertNotSame($validator, $clone->getValidator()); $this->assertNotSame($data, $clone['offset3']); }
/** * Parses comment. * * @param string $comment * * @return void */ private function parseComment($comment) { $lines = explode(PHP_EOL, $comment); foreach ($lines as $line) { $pos = stripos($line, '@property-read'); if ($pos !== false) { $isReadonly = true; } else { $pos = stripos($line, '@property'); $isReadonly = false; } if (false !== $pos) { $property = explode(' ', preg_replace('/[ ]+/', ' ', substr($line, $pos))); $name = $property[1]; if (3 == count($property)) { $name = $property[2]; $type = $property[1]; } if ('$' == $name[0]) { $name = substr($name, 1); } $this->properties->init($name, null, $isReadonly); if (isset($type)) { $this->properties->getValidator()->append($name, $type); } } } }