Make WordPress Core


Ignore:
Timestamp:
10/13/2016 10:27:15 PM (8 years ago)
Author:
jeremyfelt
Message:

Multisite: Maintain switched state in site icon/logo functions.

Adjusts get_custom_logo(), get_site_icon_url(), and has_custom_logo() so that when called in a switched state, the original switched stack is not adjusted.

Props achbed, flixos90.
Fixes #38253.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/general/template.php

    r38355 r38786  
    489489        $this->assertEquals( $expected, $actual );
    490490    }
     491
     492    /**
     493     * @ticket 38253
     494     */
     495    function test_get_site_icon_url_preserves_switched_state() {
     496        if ( ! is_multisite() ) {
     497            $this->markTestSkipped( 'This test requires multisite.' );
     498        }
     499
     500        $blog_id = $this->factory->blog->create();
     501        switch_to_blog( $blog_id );
     502
     503        $expected = $GLOBALS['_wp_switched_stack'];
     504
     505        get_site_icon_url( 512, '', $blog_id );
     506
     507        $result = $GLOBALS['_wp_switched_stack'];
     508
     509        restore_current_blog();
     510
     511        $this->assertSame( $expected, $result );
     512    }
     513
     514    /**
     515     * @ticket 38253
     516     */
     517    function test_has_custom_logo_preserves_switched_state() {
     518        if ( ! is_multisite() ) {
     519            $this->markTestSkipped( 'This test requires multisite.' );
     520        }
     521
     522        $blog_id = $this->factory->blog->create();
     523        switch_to_blog( $blog_id );
     524
     525        $expected = $GLOBALS['_wp_switched_stack'];
     526
     527        has_custom_logo( $blog_id );
     528
     529        $result = $GLOBALS['_wp_switched_stack'];
     530
     531        restore_current_blog();
     532
     533        $this->assertSame( $expected, $result );
     534    }
     535
     536    /**
     537     * @ticket 38253
     538     */
     539    function test_get_custom_logo_preserves_switched_state() {
     540        if ( ! is_multisite() ) {
     541            $this->markTestSkipped( 'This test requires multisite.' );
     542        }
     543
     544        $blog_id = $this->factory->blog->create();
     545        switch_to_blog( $blog_id );
     546
     547        $expected = $GLOBALS['_wp_switched_stack'];
     548
     549        get_custom_logo( $blog_id );
     550
     551        $result = $GLOBALS['_wp_switched_stack'];
     552
     553        restore_current_blog();
     554
     555        $this->assertSame( $expected, $result );
     556    }
    491557}
Note: See TracChangeset for help on using the changeset viewer.