public function testOne() { $input = <<<'EOD' \s \nd UNkulunkulu\nd* u\add ba\add*xwayisa ngokulunga okungokwabantu 文字ab化け \s Ukulunga okuku\nd Kristu\nd* אבabגד kuyinzuzo אבגד ab EOD; $output = Filter_Hyphenate::atTransition($this->firstset, $this->secondset, $input); $standard = <<<'EOD' \s \nd UNkulunkulu\nd* u\add ba\add*xwayisa ngokulunga okungokwabantu 文字ab化け \s Ukulunga okuku\nd Kristu\nd* אבabגד kuyinzuzo אבגד ab EOD; $this->assertEquals($standard, $output); }
$database_logs = Database_Logs::getInstance(); $database_books = Database_Books::getInstance(); $database_config_bible = Database_Config_Bible::getInstance(); $database_bibles = Database_Bibles::getInstance(); $database_users = Database_Users::getInstance(); $inputBible = Filter_Cli::argument(@$argv, 1); $outputBible = "{$inputBible}-hyphenated"; $user = Filter_Cli::argument(@$argv, 2); $database_logs->log("Reading Bible {$inputBible}, adding soft hyphens, putting it into Bible {$outputBible}"); // Get the two sets of characters as arrays. // The /u switch treats the text as UTF8 Unicode. preg_match_all('/./u', $database_config_bible->getHyphenationFirstSet($inputBible), $firstset); $firstset = $firstset[0]; preg_match_all('/./u', $database_config_bible->getHyphenationSecondSet($inputBible), $secondset); $secondset = $secondset[0]; // Delete and (re)create the hyphenated Bible, and grant privileges. $database_bibles->deleteBible($outputBible); $database_bibles->createBible($outputBible); $database_users->grantAccess2Bible($user, $outputBible); // Go through the input Bible's books and chapters. $books = $database_bibles->getBooks($inputBible); foreach ($books as $book) { $database_logs->log($database_books->getEnglishFromId($book)); $chapters = $database_bibles->getChapters($inputBible, $book); foreach ($chapters as $chapter) { $data = $database_bibles->getChapter($inputBible, $book, $chapter); $data = Filter_Hyphenate::atTransition($firstset, $secondset, $data); $database_bibles->storeChapter($outputBible, $book, $chapter, $data); } } $database_logs->log("The Bible has been hyphenated");