getMockBuilder('\LAM\PDF\PDFStructureReader') ->setMethods(array('getFileName')) ->getMock(); $reader->method('getFileName')->willReturn($this->getTestFileName('test.xml')); $structure = $reader->read('type', 'name'); $this->assertEquals('printLogo.jpg', $structure->getLogo()); $this->assertEquals('User information', $structure->getTitle()); $this->assertEquals(PDFStructure::FOLDING_STANDARD, $structure->getFoldingMarks()); $sections = $structure->getSections(); $this->assertEquals(3, sizeof($sections)); // check first section $this->assertInstanceOf(PDFEntrySection::class, $sections[0]); $this->assertFalse($sections[0]->isAttributeTitle()); $this->assertEquals('Personal user information', $sections[0]->getTitle()); $entries = $sections[0]->getEntries(); $this->assertEquals(3, sizeof($entries)); $this->assertEquals('inetOrgPerson_givenName', $entries[0]->getKey()); $this->assertEquals('inetOrgPerson_sn', $entries[1]->getKey()); $this->assertEquals('inetOrgPerson_street', $entries[2]->getKey()); // check text section $this->assertInstanceOf(PDFTextSection::class, $sections[1]); $this->assertEquals('test text', $sections[1]->getText()); // check third section $this->assertInstanceOf(PDFEntrySection::class, $sections[2]); $this->assertTrue($sections[2]->isAttributeTitle()); $this->assertEquals('posixAccount_uid', $sections[2]->getPdfKey()); $entries = $sections[2]->getEntries(); $this->assertEquals(2, sizeof($entries)); $this->assertEquals('posixAccount_homeDirectory', $entries[0]->getKey()); $this->assertEquals('posixAccount_loginShell', $entries[1]->getKey()); } /** * Returns the full path to the given file name. * * @param string $file file name */ private function getTestFileName($file) { return dirname(dirname(__FILE__)) . '/resources/pdf/' . $file; } } ?>