array_shift($argv); //remove program name $argc--; if ($argc == 3) { list($code, $namespace, $destDir) = $argv; $useLocale = false; } else { list($code, $namespace, $destDir, $locale) = $argv; $useLocale = true; } if (!file_exists($destDir)) { echo "Invalid destination directory: {$destDir}\n"; exit(-2); } $code = strtoupper($code); if ($useLocale) { $saveLocale = locale_get_default(); locale_set_default($locale); } try { $director = new CurrencyDirector(new StringType($code), new StringType($namespace), new StringType($destDir)); $director->build(); echo "Finished. {$code}.php written to {$destDir}\n"; } catch (\InvalidArgumentException $e) { echo $e->getMessage() . PHP_EOL; exit(-3); } if ($useLocale) { locale_set_default($saveLocale); } exit(0);
public function testBuildWillSaveCurrencyClassFileAndReturnFileContents() { $text = $this->sut->build(); $this->assertFileExists($this->rootDir->url() . '/GBP.php'); $this->assertEquals($text, file_get_contents($this->rootDir->url() . '/GBP.php')); }