Make WordPress Core


Ignore:
Timestamp:
02/17/2014 09:40:04 PM (11 years ago)
Author:
wonderboymusic
Message:

Make WP_User_Query::prepare_query() public by allowing it to be passed an array of args. Previously, if the WP_User_Query constructor was not passed args, the object was basically unusable. Adds unit tests, all other tests pass.

Props scribu, for the initial patch.
Fixes #21119.

File:
1 edited

Legend:

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

    r25392 r27185  
    4444        $ids = $users->get_results();
    4545        $this->assertEquals( array( $this->user_id ), $ids );
    46 
    4746    }
    4847
     
    102101        $this->assertEquals( $names, $values );
    103102    }
     103
     104    function test_prepare_query() {
     105        $query = new WP_User_Query();
     106        $this->assertEmpty( $query->query_fields );
     107        $this->assertEmpty( $query->query_from );
     108        $this->assertEmpty( $query->query_limit );
     109        $this->assertEmpty( $query->query_orderby );
     110        $this->assertEmpty( $query->query_where );
     111        $this->assertEmpty( $query->query_vars );
     112        $_query_vars = $query->query_vars;
     113
     114        $query->prepare_query();
     115        $this->assertNotEmpty( $query->query_fields );
     116        $this->assertNotEmpty( $query->query_from );
     117        $this->assertEmpty( $query->query_limit );
     118        $this->assertNotEmpty( $query->query_orderby );
     119        $this->assertNotEmpty( $query->query_where );
     120        $this->assertNotEmpty( $query->query_vars );
     121        $this->assertNotEquals( $_query_vars, $query->query_vars );
     122
     123        // All values get reset
     124        $query->prepare_query( array( 'number' => 8 ) );
     125        $this->assertNotEmpty( $query->query_limit );
     126        $this->assertEquals( 'LIMIT 8', $query->query_limit );
     127
     128        // All values get reset
     129        $query->prepare_query( array( 'fields' => 'all' ) );
     130        $this->assertEmpty( $query->query_limit );
     131        $this->assertEquals( '', $query->query_limit );
     132        $_query_vars = $query->query_vars;
     133
     134        $query->prepare_query();
     135        $this->assertEquals( $_query_vars, $query->query_vars );
     136    }
    104137}
Note: See TracChangeset for help on using the changeset viewer.