/** * Clean all sugar language files. */ public function clean($sort = true, $test = false) { $finder = new Finder(); $finder->files()->in($this->getApplication()->getPath())->path('/^custom\\/include\\/language/')->depth('== 3')->name('*.lang.php'); $found_one = false; foreach ($finder as $file) { $this->getLogger()->notice('Processing file ' . $file); $found_one = true; $content = file_get_contents($file); if ($content === false) { throw new \Exception('Unable to load the file contents of ' . $file . '.'); } $lang = new LangFile($this->getLogger(), $content, $test); file_put_contents($file, $lang->getSortedFile($sort)); } if (!$found_one) { $this->getLogger()->notice('No lang files found to process.'); return false; } return true; }
public function testCheckVarName() { $local = '$foo'; $global = "\$GLOBALS['foo']"; $logger = new TestLogger(); $lang = new LangFile($logger, '', false); $this->assertNull($lang->checkVarName('')); $lang->var_blocks[$local] = ''; $lang->checkVarName($local); $lang->checkVarName($global); $lang->var_blocks = array($global => ''); $lang->checkVarName($local); $log = <<<'EOF' [warning] Found duplicate definition for $foo. EOF; $this->assertEquals($log, $logger->getLines()); }