wordpress-develop/tests/phpunit/tests/multisite/getSite.php
Jeremy Felt 0df4e1f026 Multisite: Use get_current_blog_id() in get_site() for current site.
The global `$current_blog` is not switched in `switch_to_blog()` and can
not be used to properly retrieve current switched site information.

See #37607.


git-svn-id: https://develop.svn.wordpress.org/trunk@38217 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-08 22:32:47 +00:00

45 lines
1.1 KiB
PHP

<?php
if ( is_multisite() ) :
/**
* Test get_site() wrapper of WP_Site in multisite.
*
* @group ms-site
* @group multisite
*/
class Tests_Multisite_Get_Site extends WP_UnitTestCase {
protected static $site_ids;
public static function wpSetUpBeforeClass( $factory ) {
self::$site_ids = array(
'wordpress.org/' => array( 'domain' => 'wordpress.org', 'path' => '/' ),
'wordpress.org/foo/' => array( 'domain' => 'wordpress.org', 'path' => '/foo/' ),
'wordpress.org/foo/bar/' => array( 'domain' => 'wordpress.org', 'path' => '/foo/bar/' ),
);
foreach ( self::$site_ids as &$id ) {
$id = $factory->blog->create( $id );
}
unset( $id );
}
public static function wpTearDownAfterClass() {
foreach( self::$site_ids as $id ) {
wpmu_delete_blog( $id, true );
}
wp_update_network_site_counts();
}
public function test_get_site_in_switched_state_returns_switched_site() {
switch_to_blog( self::$site_ids[ 'wordpress.org/foo/' ] );
$site = get_site();
restore_current_blog();
$this->assertEquals( self::$site_ids[ 'wordpress.org/foo/'], $site->id );
}
}
endif;