From 14f74d141ab5580688bfd46d2f74c026e43ed967 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 1 Apr 2015 06:11:44 +0200 Subject: Update to MediaWiki 1.24.2 --- tests/phpunit/includes/title/TitleValueTest.php | 100 ++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 tests/phpunit/includes/title/TitleValueTest.php (limited to 'tests/phpunit/includes/title/TitleValueTest.php') diff --git a/tests/phpunit/includes/title/TitleValueTest.php b/tests/phpunit/includes/title/TitleValueTest.php new file mode 100644 index 00000000..3ba008d6 --- /dev/null +++ b/tests/phpunit/includes/title/TitleValueTest.php @@ -0,0 +1,100 @@ +assertEquals( NS_USER, $title->getNamespace() ); + $this->assertEquals( 'TestThis', $title->getText() ); + $this->assertEquals( 'stuff', $title->getFragment() ); + } + + public function badConstructorProvider() { + return array( + array( 'foo', 'title', 'fragment' ), + array( null, 'title', 'fragment' ), + array( 2.3, 'title', 'fragment' ), + + array( NS_MAIN, 5, 'fragment' ), + array( NS_MAIN, null, 'fragment' ), + array( NS_MAIN, '', 'fragment' ), + array( NS_MAIN, 'foo bar', '' ), + array( NS_MAIN, 'bar_', '' ), + array( NS_MAIN, '_foo', '' ), + array( NS_MAIN, ' eek ', '' ), + + array( NS_MAIN, 'title', 5 ), + array( NS_MAIN, 'title', null ), + array( NS_MAIN, 'title', array() ), + ); + } + + /** + * @dataProvider badConstructorProvider + */ + public function testConstructionErrors( $ns, $text, $fragment ) { + $this->setExpectedException( 'InvalidArgumentException' ); + new TitleValue( $ns, $text, $fragment ); + } + + public function fragmentTitleProvider() { + return array( + array( new TitleValue( NS_MAIN, 'Test' ), 'foo' ), + array( new TitleValue( NS_TALK, 'Test', 'foo' ), '' ), + array( new TitleValue( NS_CATEGORY, 'Test', 'foo' ), 'bar' ), + ); + } + + /** + * @dataProvider fragmentTitleProvider + */ + public function testCreateFragmentTitle( TitleValue $title, $fragment ) { + $fragmentTitle = $title->createFragmentTitle( $fragment ); + + $this->assertEquals( $title->getNamespace(), $fragmentTitle->getNamespace() ); + $this->assertEquals( $title->getText(), $fragmentTitle->getText() ); + $this->assertEquals( $fragment, $fragmentTitle->getFragment() ); + } + + public function getTextProvider() { + return array( + array( 'Foo', 'Foo' ), + array( 'Foo_Bar', 'Foo Bar' ), + ); + } + + /** + * @dataProvider getTextProvider + */ + public function testGetText( $dbkey, $text ) { + $title = new TitleValue( NS_MAIN, $dbkey ); + + $this->assertEquals( $text, $title->getText() ); + } +} -- cgit v1.2.3-54-g00ecf