Make WordPress Core


Ignore:
Timestamp:
08/20/2015 02:18:05 AM (11 years ago)
Author:
boonebgorges
Message:

Introduce post_name__in parameter for WP_Query.

Props enshrined.
Fixes #33065.

File:
1 edited

Legend:

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

    r31286 r33653  
    303303        $this->assertNotContains( 'ASC', $q5->request );
    304304    }
     305
     306    /**
     307     * Tests the post_name__in attribute of WP_Query.
     308     *
     309     * @ticket 33065
     310     */
     311    public function test_post_name__in() {
     312        $q = new WP_Query();
     313
     314        $post_ids[0] = $this->factory->post->create( array( 'post_title' => 'woo', 'post_date' => '2015-07-23 00:00:00' ) );
     315        $post_ids[1] = $this->factory->post->create( array( 'post_title' => 'hoo', 'post_date' => '2015-07-23 00:00:00' ) );
     316        $post_ids[2] = $this->factory->post->create( array( 'post_title' => 'test', 'post_date' => '2015-07-23 00:00:00' ) );
     317        $post_ids[3] = $this->factory->post->create( array( 'post_title' => 'me', 'post_date' => '2015-07-23 00:00:00' ) );
     318
     319        $requested = array( $post_ids[0], $post_ids[3] );
     320        $q->query( array(
     321            'post_name__in' => array( 'woo', 'me' ),
     322            'fields' => 'ids',
     323        ) );
     324        $actual_posts = $q->get_posts();
     325        $this->assertEqualSets( $requested, $actual_posts );
     326
     327        $requested = array( $post_ids[1], $post_ids[2] );
     328        $q->query( array(
     329            'post_name__in' => array( 'hoo', 'test' ),
     330            'fields' => 'ids',
     331        ) );
     332        $actual_posts = $q->get_posts();
     333        $this->assertEqualSets( $requested, $actual_posts );
     334    }
    305335}
Note: See TracChangeset for help on using the changeset viewer.