Make WordPress Core

Changeset 25391


Ignore:
Timestamp:
09/12/2013 06:06:07 AM (13 years ago)
Author:
wonderboymusic
Message:
  • Suppress deprecated function notice for set_current_user()
  • Add assertions for wp_set_current_user()

See #25282.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/user/capabilities.php

    r25353 r25391  
    1616
    1717                $this->orig_users = get_users();
     18                add_action( 'deprecated_function_run', array( $this, 'deprecated_function_run' ) );
     19        }
     20
     21        function tearDown() {
     22                parent::tearDown();
     23                remove_action( 'deprecated_function_run', array( $this, 'deprecated_function_run' ) );
     24        }
     25
     26        function deprecated_function_run( $function ) {
     27                if ( in_array( $function, array( 'set_current_user' ) ) )
     28                        add_filter( 'deprecated_function_trigger_error', array( $this, 'deprecated_function_trigger_error' ) );
     29        }
     30
     31        function deprecated_function_trigger_error() {
     32                remove_filter( 'deprecated_function_trigger_error', array( $this, 'deprecated_function_trigger_error' ) );
     33                return false;
    1834        }
    1935
     
    668684                set_current_user( $old_uid );
    669685        }
     686
     687        function test_wp_set_current_user() {
     688                $user = new WP_User( $this->factory->user->create( array( 'role' => 'administrator' ) ) );
     689                $old_uid = get_current_user_id();
     690                wp_set_current_user( $user->ID );
     691
     692                $this->assertTrue( current_user_can_for_blog( get_current_blog_id(), 'edit_posts' ) );
     693                $this->assertFalse( current_user_can_for_blog( get_current_blog_id(), 'foo_the_bar' ) );
     694                if ( ! is_multisite() ) {
     695                        $this->assertTrue( current_user_can_for_blog( 12345, 'edit_posts' ) );
     696                        return;
     697                }
     698
     699                $this->assertFalse( current_user_can_for_blog( 12345, 'edit_posts' ) );
     700
     701                $blog_id = $this->factory->blog->create( array( 'user_id' => $user->ID ) );
     702                $this->assertTrue( current_user_can_for_blog( $blog_id, 'edit_posts' ) );
     703                $this->assertFalse( current_user_can_for_blog( $blog_id, 'foo_the_bar' ) );
     704
     705                wp_set_current_user( $old_uid );
     706        }
    670707}
Note: See TracChangeset for help on using the changeset viewer.