WordPress.org

Make WordPress Core

Changeset 618 in tests


Ignore:
Timestamp:
04/06/2012 06:49:54 PM (6 years ago)
Author:
kurtpayne
Message:

Unit test for core trac 20043 - WP_User->unset

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wp-testcase/test_user.php

    r557 r618  
    66
    77    var $user_ids = array();
     8    protected $_deprecated_errors = array();
    89
    910    function setUp() {
     
    1112        // keep track of users we create
    1213        $this->user_ids = array();
     14        $this->_deprecated_errors = array();
    1315    }
    1416
     
    1820        foreach ( $this->user_ids as $id )
    1921            wp_delete_user( $id );
     22    }
     23   
     24    public function deprecated_handler( $function, $message, $version ) {
     25        $this->_deprecated_errors[] = array(
     26            'function' => $function,
     27            'message'  => $message,
     28            'version'  => $version
     29        );
    2030    }
    2131
     
    157167            $this->assertEquals( $value, $user->$key );
    158168        }
     169    }
     170   
     171    /**
     172     * Test the magic __unset method
     173     * @return void
     174     */
     175    public function test_user_unset() {
     176        $this->knownWPBug( 20043 );
     177       
     178        // New user
     179        $user_id = $this->_make_user('author');
     180        $user = new WP_User( $user_id );
     181
     182        // Test custom fields
     183        $user->customField = 123;
     184        $this->assertEquals( $user->customField, 123 );
     185        unset( $user->customField );
     186        $this->assertFalse( isset( $user->customField ) );
     187
     188        // Test 'id' (lowercase)
     189        add_action( 'deprecated_argument_run', array( $this, 'deprecated_handler' ), 10, 3 );
     190        unset( $user->id );
     191        $this->assertCount( 1, $this->_deprecated_errors );
     192        $this->assertEquals( 'WP_User->id', $this->_deprecated_errors[0]['function'] );
     193        $this->assertEquals( '2.1', $this->_deprecated_errors[0]['version'] );
     194        remove_action( 'deprecated_argument_run', array( $this, 'deprecated_handler' ), 10, 3);
     195
     196        // Test 'ID'
     197        $this->assertNotEmpty( $user->ID );
     198        unset( $user->ID );
     199        $this->assertEmpty( $user->ID );       
    159200    }
    160201
Note: See TracChangeset for help on using the changeset viewer.