public function testLinesToChars()
{
// TODO throw exception, if charset is one-byte
mb_internal_encoding('UTF-8');
// Convert lines down to characters.
$this->assertEquals(array("", "", array("", "alpha\n", "beta\n")), $this->dt->linesToChars("alpha\nbeta\nalpha\n", "beta\nalpha\nbeta\n"));
$this->assertEquals(array("", "", array("", "alpha\r\n", "beta\r\n", "\r\n")), $this->dt->linesToChars("", "alpha\r\nbeta\r\n\r\n\r\n"));
$this->assertEquals(array("", "", array("", "a", "b")), $this->dt->linesToChars("a", "b"));
// 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, "");
$this->assertEquals(array($chars, "", $lineList), $this->dt->linesToChars($lines, ""));
}