From d417de70fcf39e0a7a15ba780b597914d16ca0f7 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 12 Mar 2014 18:12:23 +0100 Subject: Update to MediaWiki 1.22.4 --- tests/phpunit/includes/site/MediaWikiSiteTest.php | 90 ------- tests/phpunit/includes/site/SiteListTest.php | 197 -------------- tests/phpunit/includes/site/SiteSQLStoreTest.php | 134 ---------- tests/phpunit/includes/site/SiteTest.php | 296 ---------------------- tests/phpunit/includes/site/TestSites.php | 100 -------- 5 files changed, 817 deletions(-) delete mode 100644 tests/phpunit/includes/site/MediaWikiSiteTest.php delete mode 100644 tests/phpunit/includes/site/SiteListTest.php delete mode 100644 tests/phpunit/includes/site/SiteSQLStoreTest.php delete mode 100644 tests/phpunit/includes/site/SiteTest.php delete mode 100644 tests/phpunit/includes/site/TestSites.php (limited to 'tests/phpunit/includes/site') diff --git a/tests/phpunit/includes/site/MediaWikiSiteTest.php b/tests/phpunit/includes/site/MediaWikiSiteTest.php deleted file mode 100644 index c5d52d33..00000000 --- a/tests/phpunit/includes/site/MediaWikiSiteTest.php +++ /dev/null @@ -1,90 +0,0 @@ - - */ -class MediaWikiSiteTest extends SiteTest { - - public function testNormalizePageTitle() { - $site = new MediaWikiSite(); - $site->setGlobalId( 'enwiki' ); - - //NOTE: this does not actually call out to the enwiki site to perform the normalization, - // but uses a local Title object to do so. This is hardcoded on SiteLink::normalizePageTitle - // for the case that MW_PHPUNIT_TEST is set. - $this->assertEquals( 'Foo', $site->normalizePageName( ' foo ' ) ); - } - - public function fileUrlProvider() { - return array( - // url, filepath, path arg, expected - array( 'https://en.wikipedia.org', '/w/$1', 'api.php', 'https://en.wikipedia.org/w/api.php' ), - array( 'https://en.wikipedia.org', '/w/', 'api.php', 'https://en.wikipedia.org/w/' ), - array( 'https://en.wikipedia.org', '/foo/page.php?name=$1', 'api.php', 'https://en.wikipedia.org/foo/page.php?name=api.php' ), - array( 'https://en.wikipedia.org', '/w/$1', '', 'https://en.wikipedia.org/w/' ), - array( 'https://en.wikipedia.org', '/w/$1', 'foo/bar/api.php', 'https://en.wikipedia.org/w/foo/bar/api.php' ), - ); - } - - /** - * @dataProvider fileUrlProvider - * @covers MediaWikiSite::getFileUrl - */ - public function testGetFileUrl( $url, $filePath, $pathArgument, $expected ) { - $site = new MediaWikiSite(); - $site->setFilePath( $url . $filePath ); - - $this->assertEquals( $expected, $site->getFileUrl( $pathArgument ) ); - } - - public static function provideGetPageUrl() { - return array( - // path, page, expected substring - array( 'http://acme.test/wiki/$1', 'Berlin', '/wiki/Berlin' ), - array( 'http://acme.test/wiki/', 'Berlin', '/wiki/' ), - array( 'http://acme.test/w/index.php?title=$1', 'Berlin', '/w/index.php?title=Berlin' ), - array( 'http://acme.test/wiki/$1', '', '/wiki/' ), - array( 'http://acme.test/wiki/$1', 'Berlin/sub page', '/wiki/Berlin/sub_page' ), - array( 'http://acme.test/wiki/$1', 'Cork (city) ', '/Cork_(city)' ), - array( 'http://acme.test/wiki/$1', 'M&M', '/wiki/M%26M' ), - ); - } - - /** - * @dataProvider provideGetPageUrl - * @covers MediaWikiSite::getPageUrl - */ - public function testGetPageUrl( $path, $page, $expected ) { - $site = new MediaWikiSite(); - $site->setLinkPath( $path ); - - $this->assertContains( $path, $site->getPageUrl() ); - $this->assertContains( $expected, $site->getPageUrl( $page ) ); - } -} diff --git a/tests/phpunit/includes/site/SiteListTest.php b/tests/phpunit/includes/site/SiteListTest.php deleted file mode 100644 index 8af2fc1b..00000000 --- a/tests/phpunit/includes/site/SiteListTest.php +++ /dev/null @@ -1,197 +0,0 @@ - - */ -class SiteListTest extends MediaWikiTestCase { - - /** - * Returns instances of SiteList implementing objects. - * @return array - */ - public function siteListProvider() { - $sitesArrays = $this->siteArrayProvider(); - - $listInstances = array(); - - foreach ( $sitesArrays as $sitesArray ) { - $listInstances[] = new SiteList( $sitesArray[0] ); - } - - return $this->arrayWrap( $listInstances ); - } - - /** - * Returns arrays with instances of Site implementing objects. - * @return array - */ - public function siteArrayProvider() { - $sites = TestSites::getSites(); - - $siteArrays = array(); - - $siteArrays[] = $sites; - - $siteArrays[] = array( array_shift( $sites ) ); - - $siteArrays[] = array( array_shift( $sites ), array_shift( $sites ) ); - - return $this->arrayWrap( $siteArrays ); - } - - /** - * @dataProvider siteListProvider - * @param SiteList $sites - * @covers SiteList::isEmpty - */ - public function testIsEmpty( SiteList $sites ) { - $this->assertEquals( count( $sites ) === 0, $sites->isEmpty() ); - } - - /** - * @dataProvider siteListProvider - * @param SiteList $sites - * @covers SiteList::getSite - */ - public function testGetSiteByGlobalId( SiteList $sites ) { - if ( $sites->isEmpty() ) { - $this->assertTrue( true ); - } else { - /** - * @var Site $site - */ - foreach ( $sites as $site ) { - $this->assertEquals( $site, $sites->getSite( $site->getGlobalId() ) ); - } - } - } - - /** - * @dataProvider siteListProvider - * @param SiteList $sites - * @covers SiteList::getSiteByInternalId - */ - public function testGetSiteByInternalId( $sites ) { - /** - * @var Site $site - */ - foreach ( $sites as $site ) { - if ( is_integer( $site->getInternalId() ) ) { - $this->assertEquals( $site, $sites->getSiteByInternalId( $site->getInternalId() ) ); - } - } - - $this->assertTrue( true ); - } - - /** - * @dataProvider siteListProvider - * @param SiteList $sites - * @covers SiteList::hasSite - */ - public function testHasGlobalId( $sites ) { - $this->assertFalse( $sites->hasSite( 'non-existing-global-id' ) ); - $this->assertFalse( $sites->hasInternalId( 720101010 ) ); - - if ( !$sites->isEmpty() ) { - /** - * @var Site $site - */ - foreach ( $sites as $site ) { - $this->assertTrue( $sites->hasSite( $site->getGlobalId() ) ); - } - } - } - - /** - * @dataProvider siteListProvider - * @param SiteList $sites - * @covers SiteList::hasInternalId - */ - public function testHasInternallId( $sites ) { - /** - * @var Site $site - */ - foreach ( $sites as $site ) { - if ( is_integer( $site->getInternalId() ) ) { - $this->assertTrue( $site, $sites->hasInternalId( $site->getInternalId() ) ); - } - } - - $this->assertFalse( $sites->hasInternalId( -1 ) ); - } - - /** - * @dataProvider siteListProvider - * @param SiteList $sites - * @covers SiteList::getGlobalIdentifiers - */ - public function testGetGlobalIdentifiers( SiteList $sites ) { - $identifiers = $sites->getGlobalIdentifiers(); - - $this->assertTrue( is_array( $identifiers ) ); - - $expected = array(); - - /** - * @var Site $site - */ - foreach ( $sites as $site ) { - $expected[] = $site->getGlobalId(); - } - - $this->assertArrayEquals( $expected, $identifiers ); - } - - /** - * @dataProvider siteListProvider - * - * @since 1.21 - * - * @param SiteList $list - * @covers SiteList::getSerializationData - * @covers SiteList::unserialize - */ - public function testSerialization( SiteList $list ) { - $serialization = serialize( $list ); - /** - * @var SiteArray $copy - */ - $copy = unserialize( $serialization ); - - $this->assertArrayEquals( $list->getGlobalIdentifiers(), $copy->getGlobalIdentifiers() ); - - /** - * @var Site $site - */ - foreach ( $list as $site ) { - $this->assertTrue( $copy->hasInternalId( $site->getInternalId() ) ); - } - } -} diff --git a/tests/phpunit/includes/site/SiteSQLStoreTest.php b/tests/phpunit/includes/site/SiteSQLStoreTest.php deleted file mode 100644 index 6002c1a1..00000000 --- a/tests/phpunit/includes/site/SiteSQLStoreTest.php +++ /dev/null @@ -1,134 +0,0 @@ - - */ -class SiteSQLStoreTest extends MediaWikiTestCase { - - /** - * @covers SiteSQLStore::getSites - */ - public function testGetSites() { - $expectedSites = TestSites::getSites(); - TestSites::insertIntoDb(); - - $store = SiteSQLStore::newInstance(); - - $sites = $store->getSites(); - - $this->assertInstanceOf( 'SiteList', $sites ); - - /** - * @var Site $site - */ - foreach ( $sites as $site ) { - $this->assertInstanceOf( 'Site', $site ); - } - - foreach ( $expectedSites as $site ) { - if ( $site->getGlobalId() !== null ) { - $this->assertTrue( $sites->hasSite( $site->getGlobalId() ) ); - } - } - } - - /** - * @covers SiteSQLStore::saveSites - */ - public function testSaveSites() { - $store = SiteSQLStore::newInstance(); - - $sites = array(); - - $site = new Site(); - $site->setGlobalId( 'ertrywuutr' ); - $site->setLanguageCode( 'en' ); - $sites[] = $site; - - $site = new MediaWikiSite(); - $site->setGlobalId( 'sdfhxujgkfpth' ); - $site->setLanguageCode( 'nl' ); - $sites[] = $site; - - $this->assertTrue( $store->saveSites( $sites ) ); - - $site = $store->getSite( 'ertrywuutr' ); - $this->assertInstanceOf( 'Site', $site ); - $this->assertEquals( 'en', $site->getLanguageCode() ); - $this->assertTrue( is_integer( $site->getInternalId() ) ); - $this->assertTrue( $site->getInternalId() >= 0 ); - - $site = $store->getSite( 'sdfhxujgkfpth' ); - $this->assertInstanceOf( 'Site', $site ); - $this->assertEquals( 'nl', $site->getLanguageCode() ); - $this->assertTrue( is_integer( $site->getInternalId() ) ); - $this->assertTrue( $site->getInternalId() >= 0 ); - } - - /** - * @covers SiteSQLStore::reset - */ - public function testReset() { - $store1 = SiteSQLStore::newInstance(); - $store2 = SiteSQLStore::newInstance(); - - // initialize internal cache - $this->assertGreaterThan( 0, $store1->getSites()->count() ); - $this->assertGreaterThan( 0, $store2->getSites()->count() ); - - // Clear actual data. Will purge the external cache and reset the internal - // cache in $store1, but not the internal cache in store2. - $this->assertTrue( $store1->clear() ); - - // sanity check: $store2 should have a stale cache now - $this->assertNotNull( $store2->getSite( 'enwiki' ) ); - - // purge cache - $store2->reset(); - - // ...now the internal cache of $store2 should be updated and thus empty. - $site = $store2->getSite( 'enwiki' ); - $this->assertNull( $site ); - } - - /** - * @covers SiteSQLStore::clear - */ - public function testClear() { - $store = SiteSQLStore::newInstance(); - $this->assertTrue( $store->clear() ); - - $site = $store->getSite( 'enwiki' ); - $this->assertNull( $site ); - - $sites = $store->getSites(); - $this->assertEquals( 0, $sites->count() ); - } -} diff --git a/tests/phpunit/includes/site/SiteTest.php b/tests/phpunit/includes/site/SiteTest.php deleted file mode 100644 index 29c1ff33..00000000 --- a/tests/phpunit/includes/site/SiteTest.php +++ /dev/null @@ -1,296 +0,0 @@ - - */ -class SiteTest extends MediaWikiTestCase { - - public function instanceProvider() { - return $this->arrayWrap( TestSites::getSites() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getInterwikiIds - */ - public function testGetInterwikiIds( Site $site ) { - $this->assertInternalType( 'array', $site->getInterwikiIds() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getNavigationIds - */ - public function testGetNavigationIds( Site $site ) { - $this->assertInternalType( 'array', $site->getNavigationIds() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::addNavigationId - */ - public function testAddNavigationId( Site $site ) { - $site->addNavigationId( 'foobar' ); - $this->assertTrue( in_array( 'foobar', $site->getNavigationIds(), true ) ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::addInterwikiId - */ - public function testAddInterwikiId( Site $site ) { - $site->addInterwikiId( 'foobar' ); - $this->assertTrue( in_array( 'foobar', $site->getInterwikiIds(), true ) ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getLanguageCode - */ - public function testGetLanguageCode( Site $site ) { - $this->assertTypeOrValue( 'string', $site->getLanguageCode(), null ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::setLanguageCode - */ - public function testSetLanguageCode( Site $site ) { - $site->setLanguageCode( 'en' ); - $this->assertEquals( 'en', $site->getLanguageCode() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::normalizePageName - */ - public function testNormalizePageName( Site $site ) { - $this->assertInternalType( 'string', $site->normalizePageName( 'Foobar' ) ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getGlobalId - */ - public function testGetGlobalId( Site $site ) { - $this->assertTypeOrValue( 'string', $site->getGlobalId(), null ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::setGlobalId - */ - public function testSetGlobalId( Site $site ) { - $site->setGlobalId( 'foobar' ); - $this->assertEquals( 'foobar', $site->getGlobalId() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getType - */ - public function testGetType( Site $site ) { - $this->assertInternalType( 'string', $site->getType() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getPath - */ - public function testGetPath( Site $site ) { - $this->assertTypeOrValue( 'string', $site->getPath( 'page_path' ), null ); - $this->assertTypeOrValue( 'string', $site->getPath( 'file_path' ), null ); - $this->assertTypeOrValue( 'string', $site->getPath( 'foobar' ), null ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::getAllPaths - */ - public function testGetAllPaths( Site $site ) { - $this->assertInternalType( 'array', $site->getAllPaths() ); - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::setPath - * @covers Site::removePath - */ - public function testSetAndRemovePath( Site $site ) { - $count = count( $site->getAllPaths() ); - - $site->setPath( 'spam', 'http://www.wikidata.org/$1' ); - $site->setPath( 'spam', 'http://www.wikidata.org/foo/$1' ); - $site->setPath( 'foobar', 'http://www.wikidata.org/bar/$1' ); - - $this->assertEquals( $count + 2, count( $site->getAllPaths() ) ); - - $this->assertInternalType( 'string', $site->getPath( 'foobar' ) ); - $this->assertEquals( 'http://www.wikidata.org/foo/$1', $site->getPath( 'spam' ) ); - - $site->removePath( 'spam' ); - $site->removePath( 'foobar' ); - - $this->assertEquals( $count, count( $site->getAllPaths() ) ); - - $this->assertNull( $site->getPath( 'foobar' ) ); - $this->assertNull( $site->getPath( 'spam' ) ); - } - - /** - * @covers Site::setLinkPath - */ - public function testSetLinkPath() { - $site = new Site(); - $path = "TestPath/$1"; - - $site->setLinkPath( $path ); - $this->assertEquals( $path, $site->getLinkPath() ); - } - - /** - * @covers Site::getLinkPathType - */ - public function testGetLinkPathType() { - $site = new Site(); - - $path = 'TestPath/$1'; - $site->setLinkPath( $path ); - $this->assertEquals( $path, $site->getPath( $site->getLinkPathType() ) ); - - $path = 'AnotherPath/$1'; - $site->setPath( $site->getLinkPathType(), $path ); - $this->assertEquals( $path, $site->getLinkPath() ); - } - - /** - * @covers Site::setPath - */ - public function testSetPath() { - $site = new Site(); - - $path = 'TestPath/$1'; - $site->setPath( 'foo', $path ); - - $this->assertEquals( $path, $site->getPath( 'foo' ) ); - } - - /** - * @covers Site::setPath - * @covers Site::getProtocol - */ - public function testProtocolRelativePath() { - $site = new Site(); - - $type = $site->getLinkPathType(); - $path = '//acme.com/'; // protocol-relative URL - $site->setPath( $type, $path ); - - $this->assertEquals( '', $site->getProtocol() ); - } - - public static function provideGetPageUrl() { - //NOTE: the assumption that the URL is built by replacing $1 - // with the urlencoded version of $page - // is true for Site but not guaranteed for subclasses. - // Subclasses need to override this provider appropriately. - - return array( - array( #0 - 'http://acme.test/TestPath/$1', - 'Foo', - '/TestPath/Foo', - ), - array( #1 - 'http://acme.test/TestScript?x=$1&y=bla', - 'Foo', - 'TestScript?x=Foo&y=bla', - ), - array( #2 - 'http://acme.test/TestPath/$1', - 'foo & bar/xyzzy (quux-shmoox?)', - '/TestPath/foo%20%26%20bar%2Fxyzzy%20%28quux-shmoox%3F%29', - ), - ); - } - - /** - * @dataProvider provideGetPageUrl - * @covers Site::getPageUrl - */ - public function testGetPageUrl( $path, $page, $expected ) { - $site = new Site(); - - //NOTE: the assumption that getPageUrl is based on getLinkPath - // is true for Site but not guaranteed for subclasses. - // Subclasses need to override this test case appropriately. - $site->setLinkPath( $path ); - $this->assertContains( $path, $site->getPageUrl() ); - - $this->assertContains( $expected, $site->getPageUrl( $page ) ); - } - - protected function assertTypeOrFalse( $type, $value ) { - if ( $value === false ) { - $this->assertTrue( true ); - } else { - $this->assertInternalType( $type, $value ); - } - } - - /** - * @dataProvider instanceProvider - * @param Site $site - * @covers Site::serialize - * @covers Site::unserialize - */ - public function testSerialization( Site $site ) { - $this->assertInstanceOf( 'Serializable', $site ); - - $serialization = serialize( $site ); - $newInstance = unserialize( $serialization ); - - $this->assertInstanceOf( 'Site', $newInstance ); - - $this->assertEquals( $serialization, serialize( $newInstance ) ); - } -} diff --git a/tests/phpunit/includes/site/TestSites.php b/tests/phpunit/includes/site/TestSites.php deleted file mode 100644 index f224b7d7..00000000 --- a/tests/phpunit/includes/site/TestSites.php +++ /dev/null @@ -1,100 +0,0 @@ - - */ -class TestSites { - - /** - * @since 1.21 - * - * @return array - */ - public static function getSites() { - $sites = array(); - - $site = new Site(); - $site->setGlobalId( 'foobar' ); - $sites[] = $site; - - $site = new MediaWikiSite(); - $site->setGlobalId( 'enwiktionary' ); - $site->setGroup( 'wiktionary' ); - $site->setLanguageCode( 'en' ); - $site->addNavigationId( 'enwiktionary' ); - $site->setPath( MediaWikiSite::PATH_PAGE, "https://en.wiktionary.org/wiki/$1" ); - $site->setPath( MediaWikiSite::PATH_FILE, "https://en.wiktionary.org/w/$1" ); - $sites[] = $site; - - $site = new MediaWikiSite(); - $site->setGlobalId( 'dewiktionary' ); - $site->setGroup( 'wiktionary' ); - $site->setLanguageCode( 'de' ); - $site->addInterwikiId( 'dewiktionary' ); - $site->addInterwikiId( 'wiktionaryde' ); - $site->setPath( MediaWikiSite::PATH_PAGE, "https://de.wiktionary.org/wiki/$1" ); - $site->setPath( MediaWikiSite::PATH_FILE, "https://de.wiktionary.org/w/$1" ); - $sites[] = $site; - - $site = new Site(); - $site->setGlobalId( 'spam' ); - $site->setGroup( 'spam' ); - $site->setLanguageCode( 'en' ); - $site->addNavigationId( 'spam' ); - $site->addNavigationId( 'spamz' ); - $site->addInterwikiId( 'spamzz' ); - $site->setLinkPath( "http://spamzz.test/testing/" ); - $sites[] = $site; - - foreach ( array( 'en', 'de', 'nl', 'sv', 'sr', 'no', 'nn' ) as $langCode ) { - $site = new MediaWikiSite(); - $site->setGlobalId( $langCode . 'wiki' ); - $site->setGroup( 'wikipedia' ); - $site->setLanguageCode( $langCode ); - $site->addInterwikiId( $langCode ); - $site->addNavigationId( $langCode ); - $site->setPath( MediaWikiSite::PATH_PAGE, "https://$langCode.wikipedia.org/wiki/$1" ); - $site->setPath( MediaWikiSite::PATH_FILE, "https://$langCode.wikipedia.org/w/$1" ); - $sites[] = $site; - } - - return $sites; - } - - /** - * Inserts sites into the database for the unit tests that need them. - * - * @since 0.1 - */ - public static function insertIntoDb() { - $sitesTable = SiteSQLStore::newInstance(); - $sitesTable->clear(); - $sitesTable->saveSites( TestSites::getSites() ); - } -} -- cgit v1.2.3-54-g00ecf