DiffMatchPatch\DiffToolkitTest::testCharsToLines PHP Method

testCharsToLines() public method

public testCharsToLines ( )
    public function testCharsToLines()
    {
        // Convert chars up to lines.
        $diffs = array(array(Diff::EQUAL, ""), array(Diff::INSERT, ""));
        $this->dt->charsToLines($diffs, array("", "alpha\n", "beta\n"));
        $this->assertEquals(array(array(Diff::EQUAL, "alpha\nbeta\nalpha\n"), array(Diff::INSERT, "beta\nalpha\nbeta\n")), $diffs);
        // More than 256 to reveal any 8-bit limitations.
        $n = 300;
        $lineList = array();
        $charList = array();
        for ($x = 1; $x <= $n; $x++) {
            $lineList[] = $x . "\n";
            $charList[] = Utils::unicodeChr($x);
        }
        $this->assertCount($n, $lineList);
        $lines = implode('', $lineList);
        $chars = implode('', $charList);
        $this->assertEquals($n, mb_strlen($chars));
        array_unshift($lineList, "");
        $diffs = array(array(Diff::DELETE, $chars));
        $this->dt->charsToLines($diffs, $lineList);
        $this->assertEquals(array(array(Diff::DELETE, $lines)), $diffs);
    }