parse($rawPage); $instructions = $handler->calls; // check instructions are correct $this->assertTrue($result); $this->assertEquals('raw', $instructions[0][0]); $this->assertEquals('plugin', $instructions[1][0]); $this->assertEquals('yuriigantt', $instructions[1][1][0]); $this->assertInstanceOf(stdClass::class, $instructions[1][1][1]); $this->assertStringStartsWith('~~~~GANTT~~~~', $instructions[1][1][3]); $this->assertStringEndsWith('~~~~~~~~~~~', $instructions[1][1][3]); $this->assertEquals('raw', $instructions[2][0]); $this->assertEquals("\n\n\nzzz\n", $instructions[2][1][0]); // check output is same if nothing was updated $renderer = new Renderer(); foreach ($instructions as $instruction) { call_user_func_array(array(&$renderer, $instruction[0]), $instruction[1] ? $instruction[1] : array()); } //file_put_contents(__DIR__.'/test_page_output.txt', $renderer->doc); $this->assertEquals($renderer->doc, $rawPage); // check database $database = $handler->getDatabase(); $this->assertIsObject($database); $this->assertEquals($database->pageId, 'asd'); $this->assertEquals($database->version, '1.0'); $this->assertEquals($database->dsn, Embedded::DSN); $this->assertEquals($database->dsn, Embedded::DSN); $this->assertEquals($database->increment->task, 12); $this->assertEquals($database->increment->link, 8); } }