document = Document::new(); $this->document->insertRow(0, ''); $this->row = $this->document->rows[0]; } public function testSanity(): void { $this->assertEquals(0, $this->row->size); $this->assertEquals(0, $this->row->rsize); $this->assertNull($this->row->foo); $this->assertEmpty($this->row->chars); $this->assertEmpty($this->row->render); } public function testSetRunsUpdate(): void { $this->row->setChars('abcde'); $this->assertNotEmpty($this->row->chars); $this->assertEquals('abcde', $this->row->render); } public function test__toString(): void { $this->row->setChars('abcde'); $this->assertEquals("abcde\n", (string)$this->row); } public function test__debugInfo(): void { $actual = $this->row->__debugInfo(); $expected = [ 'size' => 0, 'rsize' => 0, 'chars' => '', 'render' => '', 'hl' => [], 'hlOpenComment' => FALSE, ]; $this->assertEquals($expected, $actual); } public function testInsert(): void { $this->row->setChars('abde'); $this->row->insert(2, 'c'); $this->assertEquals('abcde', $this->row->chars); $this->assertEquals('abcde', $this->row->render); $this->assertEquals(true, $this->document->dirty); } public function testInsertBadOffset(): void { $this->row->setChars('ab'); $this->row->insert(5, 'c'); $this->assertEquals('abc', $this->row->chars); $this->assertEquals('abc', $this->row->render); $this->assertEquals(true, $this->document->dirty); } public function testDelete(): void { $this->row->setChars('abcdef'); $this->row->delete(5); $this->assertEquals('abcde', $this->row->chars); $this->assertEquals('abcde', $this->row->render); $this->assertEquals(true, $this->document->dirty); } public function testDeleteBadOffset(): void { $this->row->setChars('ab'); $this->row->delete(5); $this->assertEquals('ab', $this->row->chars); } }