WordPress.org

Make WordPress Core

Changeset 958 in tests


Ignore:
Timestamp:
08/09/12 16:29:09 (21 months ago)
Author:
ryan
Message:

switch_to_blog() restore_current_blog() tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/ms.php

    r904 r958  
    350350        $this->assertFalse( $result ); 
    351351    } 
     352 
     353    function test_switch_restore_blog() { 
     354        global $_wp_switched, $_wp_switched_stack, $wpdb; 
     355 
     356        $this->assertEquals( array(), $_wp_switched_stack ); 
     357        $this->assertFalse( $_wp_switched ); 
     358        $current_blog_id = get_current_blog_id(); 
     359        $this->assertInternalType( 'integer', $current_blog_id ); 
     360 
     361        wp_cache_set( 'switch-test', $current_blog_id, 'switch-test' ); 
     362        $this->assertEquals( $current_blog_id, wp_cache_get( 'switch-test', 'switch-test' ) ); 
     363 
     364        $domain = 'blogoptiontest'; 
     365        if ( is_subdomain_install() ) { 
     366            $newdomain = $domain . '.' . preg_replace( '|^www\.|', '', $current_site->domain ); 
     367            $path = $base; 
     368        } else { 
     369            $newdomain = $current_site->domain; 
     370            $path = $base . $domain . '/'; 
     371        } 
     372        $email = 'foo@foo.foo'; 
     373        $password = wp_generate_password( 12, false ); 
     374        $user_id = wpmu_create_user( $domain, $password, $email ); 
     375        $this->assertInternalType( 'integer', $user_id ); 
     376        $blog_id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( 'public' => 1 ), $current_site->id ); 
     377        $this->assertInternalType( 'integer', $blog_id ); 
     378 
     379        switch_to_blog( $blog_id ); 
     380        $this->assertEquals( array( $current_blog_id ), $_wp_switched_stack ); 
     381        $this->assertTrue( $_wp_switched ); 
     382        $this->assertEquals( $blog_id, $wpdb->blogid ); 
     383        $this->assertFalse( wp_cache_get( 'switch-test', 'switch-test' ) ); 
     384        wp_cache_set( 'switch-test', $blog_id, 'switch-test' ); 
     385        $this->assertEquals( $blog_id, wp_cache_get( 'switch-test', 'switch-test' ) ); 
     386 
     387        switch_to_blog( $blog_id ); 
     388        $this->assertEquals( array( $current_blog_id, $blog_id ), $_wp_switched_stack ); 
     389        $this->assertTrue( $_wp_switched ); 
     390        $this->assertEquals( $blog_id, $wpdb->blogid ); 
     391        $this->assertEquals( $blog_id, wp_cache_get( 'switch-test', 'switch-test' ) ); 
     392 
     393        restore_current_blog(); 
     394        $this->assertEquals( array( $current_blog_id ), $_wp_switched_stack ); 
     395        $this->assertTrue( $_wp_switched ); 
     396        $this->assertEquals( $blog_id, $wpdb->blogid ); 
     397        $this->assertEquals( $blog_id, wp_cache_get( 'switch-test', 'switch-test' ) ); 
     398 
     399        restore_current_blog(); 
     400        $this->assertEquals( $current_blog_id, get_current_blog_id() ); 
     401        $this->assertEquals( array(), $_wp_switched_stack ); 
     402        $this->assertFalse( $_wp_switched ); 
     403        $this->assertEquals( $current_blog_id, wp_cache_get( 'switch-test', 'switch-test' ) ); 
     404 
     405        $this->assertFalse( restore_current_blog() ); 
     406    } 
    352407} 
    353408 
Note: See TracChangeset for help on using the changeset viewer.