/** * @dataProvider provideValidConstruction */ public function testValidConstruction($title, $pageid, $identifiesPage) { $pageIdentifier = new PageIdentifier($title, $pageid); if (is_string($title)) { $this->assertEquals(new Title($title), $pageIdentifier->getTitle()); } else { $this->assertEquals($title, $pageIdentifier->getTitle()); } $this->assertEquals($pageid, $pageIdentifier->getId()); $this->assertEquals($identifiesPage, $pageIdentifier->identifiesPage()); }
/** * @param PageIdentifier $pageIdentifier * * @return Page * * @throws InvalidArgumentException */ public function getFromPageIdentifier(PageIdentifier $pageIdentifier) { if (!$pageIdentifier->identifiesPage()) { throw new InvalidArgumentException('$pageIdentifier does not identify a page'); } if (!is_null($pageIdentifier->getId())) { return $this->getFromPageId($pageIdentifier->getId()); } else { return $this->getFromTitle($pageIdentifier->getTitle()); } }
/** * @since 0.4 * * @param PageIdentifier $pageIdentifier * @param array $extraParams * * @throws RuntimeException * @returns Page */ public function getFromPageIdentifier(PageIdentifier $pageIdentifier, array $extraParams = []) { if (!$pageIdentifier->identifiesPage()) { throw new RuntimeException('$pageIdentifier does not identify a page'); } if (!is_null($pageIdentifier->getId())) { return $this->getFromPageId($pageIdentifier->getId(), $extraParams); } else { return $this->getFromTitle($pageIdentifier->getTitle(), $extraParams); } }
/** * @since 0.4 * * @param PageIdentifier $pageIdentifier * @param QueryOptions|null $options * * @throws RuntimeException * @returns Page */ public function getFromPageIdentifier(PageIdentifier $pageIdentifier, QueryOptions $options = null) { if (!$pageIdentifier->identifiesPage()) { throw new RuntimeException('$pageIdentifier does not identify a page'); } if (!is_null($pageIdentifier->getId())) { return $this->getFromPageId($pageIdentifier->getId(), $options); } else { return $this->getFromTitle($pageIdentifier->getTitle(), $options); } }