WordPress.org

Make WordPress Core

Ticket #20372: 20372-unit.diff

File 20372-unit.diff, 1.7 KB (added by ryan, 2 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?>