/** * Sets a new php source file. * * @param string $sourceFile A php source file. * * @return void */ public function setSourceFile($sourceFile) { $storage = PHP_Depend_StorageRegistry::get(PHP_Depend::PARSER_STORAGE); $id = '$Id$-@package_version@'; $key = md5_file($sourceFile); $group = get_class($this->_tokenizer); $tokens = $storage->restore($key, $group, $id); if (is_array($tokens)) { $this->_sourceFile = new PHP_Depend_Code_File($sourceFile); $this->_sourceFile->setTokens($tokens); } else { $this->_tokenizer->setSourceFile($sourceFile); $this->_sourceFile = $this->_tokenizer->getSourceFile(); $tokens = $this->_sourceFile->getTokens(); $storage->store($tokens, $key, $group, $id); } $this->_tokens = $tokens; $this->_index = 0; $this->_count = count($tokens); }
/** * testGetTokensDelegatesCallToCacheRestoreWithFileUuid * * @return void * @group pdepend * @group pdepend::code * @group unittest */ public function testGetTokensDelegatesCallToCacheRestoreWithFileUuid() { $cache = $this->getMock('PHP_Depend_Util_Cache_Driver'); $cache->expects($this->once())->method('type')->with(self::equalTo('tokens'))->will($this->returnValue($cache)); $cache->expects($this->once())->method('restore')->with(self::equalTo(__FUNCTION__)); $file = new PHP_Depend_Code_File(null); $file->setCache($cache); $file->setUUID(__FUNCTION__); $file->getTokens(); }