diff options
Diffstat (limited to 'bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/PageTest.php')
-rw-r--r-- | bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/PageTest.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/PageTest.php b/bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/PageTest.php new file mode 100644 index 00000000..cbc31c8c --- /dev/null +++ b/bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/PageTest.php @@ -0,0 +1,48 @@ +<?php + +namespace Mediawiki\DataModel\Test; + +use Mediawiki\DataModel\Page; +use Mediawiki\DataModel\PageIdentifier; + +/** + * @covers \Mediawiki\DataModel\Page + * @author Addshore + */ +class PageTest extends \PHPUnit_Framework_TestCase { + + /** + * @dataProvider provideValidConstruction + */ + public function testValidConstruction( $pageIdentifier, $revisions ) { + $page = new Page( $pageIdentifier, $revisions ); + $this->assertEquals( $pageIdentifier, $page->getPageIdentifier() ); + if( is_null( $revisions ) ) { + $this->assertInstanceOf( 'Mediawiki\DataModel\Revisions', $page->getRevisions() ); + } else { + $this->assertEquals( $revisions, $page->getRevisions() ); + } + } + + public function provideValidConstruction() { + return array( + array( null, null ), + array( null, $this->newMockRevisions() ), + array( new PageIdentifier( $this->newMockTitle(), 1 ), $this->newMockRevisions() ), + array( new PageIdentifier( $this->newMockTitle(), 123 ), null ), + ); + } + + private function newMockTitle() { + return $this->getMockBuilder( '\Mediawiki\DataModel\Title' ) + ->disableOriginalConstructor() + ->getMock(); + } + + private function newMockRevisions() { + return $this->getMockBuilder( '\Mediawiki\DataModel\Revisions' ) + ->disableOriginalConstructor() + ->getMock(); + } + +}
\ No newline at end of file |