WordPress.org

Make WordPress Core

Ticket #20372: 20372-unit.diff

File 20372-unit.diff, 1.7 KB (added by ryan, 6 years ago)

Unit tests for get and set current

  • wp-testcase/test_user.php

     
    407407                $this->assertFalse( $user->exists() );
    408408        }
    409409
     410        function test_get_current_user() {
     411                global $current_user;
     412
     413                $current = wp_get_current_user();
     414
     415                $id = $this->_make_user( 'administrator' );
     416
     417                wp_set_current_user( $id );
     418                $user = wp_get_current_user();
     419                $this->assertInstanceOf( 'WP_User', $user );
     420                $this->assertEquals( $id, $user->ID );
     421
     422                $current_user = 12345;
     423                $user = wp_get_current_user();
     424                $this->assertInstanceOf( 'WP_User', $user );
     425                $this->assertEquals( 0, $user->ID );
     426
     427                $current_user = new WP_Error( 'oops' );
     428                $user = wp_get_current_user();
     429                $this->assertInstanceOf( 'WP_User', $user );
     430                $this->assertEquals( 0, $user->ID );
     431
     432                wp_set_current_user( $id );
     433                $user = wp_get_current_user();
     434                $this->assertInstanceOf( 'WP_User', $user );
     435                $this->assertEquals( $id, $user->ID );
     436
     437                wp_set_current_user( $current->ID );
     438        }
     439
     440        function test_set_current_user() {
     441                global $current_user;
     442
     443                $current = wp_get_current_user();
     444
     445                $id = $this->_make_user( 'administrator' );
     446
     447                wp_set_current_user( $id );
     448                $user = wp_get_current_user();
     449                $this->assertInstanceOf( 'WP_User', $user );
     450                $this->assertEquals( $id, $user->ID );
     451
     452                $user = wp_set_current_user( 123456789 );
     453                $this->assertInstanceOf( 'WP_User', $user );
     454                $this->assertEquals( 0, $user->ID );
     455
     456                $current_user = new stdClass;
     457                $current_user->ID = $id;
     458                $user = wp_set_current_user( $id );
     459                $this->assertInstanceOf( 'WP_User', $user );
     460                $this->assertEquals( $id, $user->ID );
     461
     462                wp_set_current_user( $current->ID );
     463        }
    410464}
    411465
    412466?>