public function testOffset2VerseNumberFour() { $usfm = <<<'EOD' \p \v 3 Verse 3 (out of order). \v 1 Verse 1. \v 2 Verse 1. EOD; $this->assertEquals(0, Filter_Usfm::offset2verseNumber($usfm, 0)); $this->assertEquals(0, Filter_Usfm::offset2verseNumber($usfm, 1)); $this->assertEquals(0, Filter_Usfm::offset2verseNumber($usfm, 2)); $this->assertEquals(3, Filter_Usfm::offset2verseNumber($usfm, 3)); $this->assertEquals(3, Filter_Usfm::offset2verseNumber($usfm, 4)); $this->assertEquals(3, Filter_Usfm::offset2verseNumber($usfm, 31)); $this->assertEquals(1, Filter_Usfm::offset2verseNumber($usfm, 32)); $this->assertEquals(1, Filter_Usfm::offset2verseNumber($usfm, 33)); $this->assertEquals(1, Filter_Usfm::offset2verseNumber($usfm, 45)); $this->assertEquals(2, Filter_Usfm::offset2verseNumber($usfm, 46)); $this->assertEquals(2, Filter_Usfm::offset2verseNumber($usfm, 47)); }
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ require_once "../bootstrap/bootstrap.php"; page_access_level(Filter_Roles::TRANSLATOR_LEVEL); $bible = $_GET['bible']; $book = $_GET['book']; $chapter = $_GET['chapter']; $offset = $_GET['offset']; $database_bibles = Database_Bibles::getInstance(); $ipc_focus = Ipc_Focus::getInstance(); $usfm = $database_bibles->getChapter($bible, $book, $chapter); $verse = Filter_Usfm::offset2verseNumber($usfm, $offset); // Only update navigation in case the verse changed. // This avoids unnecessary focus operations in the clients. if ($verse != $ipc_focus->getVerse()) { $ipc_focus->set($book, $chapter, $verse); } //$startingOffset = Filter_Usfm::verseNumber2offset ($usfm, $verse); //$endingOffset = Filter_Usfm::verseNumber2offset ($usfm, $verse + 1) - 1; //$substring = mb_substr ($usfm, 0, $offset); //$lineNumber = mb_substr_count ($substring, "\n"); //$data = array ('line' => $lineNumber); //echo json_encode ($data);