Make WordPress Core


Ignore:
Timestamp:
02/17/2014 09:40:04 PM (12 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.