WordPress.org

Make WordPress Core

Ticket #37607: 37607.2.diff

File 37607.2.diff, 2.1 KB (added by jeremyfelt, 5 years ago)
  • src/wp-includes/ms-blogs.php

     
    478478 *
    479479 * @since 4.6.0
    480480 *
    481  * @global WP_Site $current_blog The current site.
    482  *
    483481 * @param WP_Site|int|null $site Optional. Site to retrieve. Default is the current site.
    484482 * @return WP_Site|null The site object or null if not found.
    485483 */
    486484function get_site( &$site = null ) {
    487         global $current_blog;
    488         if ( empty( $site ) && isset( $current_blog ) ) {
    489                 $site = $current_blog;
     485        if ( empty( $site ) ) {
     486                $site = get_current_blog_id();
    490487        }
    491488
    492489        if ( $site instanceof WP_Site ) {
  • tests/phpunit/tests/multisite/getSite.php

     
     1<?php
     2
     3if ( is_multisite() ) :
     4/**
     5 * Test get_site() wrapper of WP_Site in multisite.
     6 *
     7 * @group ms-site
     8 * @group multisite
     9 */
     10class Tests_Multisite_Get_Site extends WP_UnitTestCase {
     11        protected static $site_ids;
     12
     13        public static function wpSetUpBeforeClass( $factory ) {
     14                self::$site_ids = array(
     15                        'wordpress.org/'              => array( 'domain' => 'wordpress.org',      'path' => '/' ),
     16                        'wordpress.org/foo/'          => array( 'domain' => 'wordpress.org',      'path' => '/foo/' ),
     17                        'wordpress.org/foo/bar/'      => array( 'domain' => 'wordpress.org',      'path' => '/foo/bar/' ),
     18                );
     19
     20                foreach ( self::$site_ids as &$id ) {
     21                        $id = $factory->blog->create( $id );
     22                }
     23                unset( $id );
     24        }
     25
     26        public static function wpTearDownAfterClass() {
     27                foreach( self::$site_ids as $id ) {
     28                        wpmu_delete_blog( $id, true );
     29                }
     30
     31                wp_update_network_site_counts();
     32        }
     33
     34        public function test_get_site_in_switched_state_returns_switched_site() {
     35                switch_to_blog( self::$site_ids[ 'wordpress.org/foo/' ] );
     36                $site = get_site();
     37                restore_current_blog();
     38
     39                $this->assertEquals( self::$site_ids[ 'wordpress.org/foo/'], $site->id );
     40        }
     41
     42}
     43
     44endif;