WordPress.org

Make WordPress Core

Ticket #25538: unit-test-25538.diff

File unit-test-25538.diff, 1.7 KB (added by oso96_2000, 6 years ago)
  • tests/phpunit/tests/query/results.php

    diff --git a/tests/phpunit/tests/query/results.php b/tests/phpunit/tests/query/results.php
    index 04bdf19..0377142 100644
    a b class Tests_Query_Results extends WP_UnitTestCase { 
    543543                );
    544544                $this->assertNotContains( "({$wpdb->posts}.post_status = 'publish') AND", $this->q->request );
    545545        }
     546
     547        function test_query_meta_query_order() {
     548                $post1 = $this->factory->post->create( array( 'post_title' => 'meta-value-1', 'post_date' => '2007-01-01 00:00:00' ) );
     549                $post2 = $this->factory->post->create( array( 'post_title' => 'meta-value-2', 'post_date' => '2007-01-01 00:00:00' ) );
     550                $post3 = $this->factory->post->create( array( 'post_title' => 'meta-value-3', 'post_date' => '2007-01-01 00:00:00' ) );
     551
     552                add_post_meta($post1, 'order', 1);
     553                add_post_meta($post2, 'order', 2);
     554                add_post_meta($post3, 'order', 3);
     555
     556                $expected = array(
     557                        'meta-value-3',
     558                        'meta-value-2',
     559                        'meta-value-1'
     560                );
     561
     562                $args = array(
     563                        'post_type' => 'post',
     564                        'meta_key' => 'order',
     565                        'meta_value' => 1,
     566                        'meta_compare' => '>=',
     567                        'orderby' => 'meta_value'
     568                );
     569
     570                $args2 = array(
     571                        'post_type' => 'post',
     572                        'meta_key' => 'order',
     573                        'meta_value' => 1,
     574                        'meta_compare' => '>=',
     575                        'orderby' => 'meta_value',
     576                        'meta_query' => array(
     577                                'relation' => 'OR',
     578                                array(
     579                                        'key' => 'order',
     580                                        'compare' => '>=',
     581                                        'value' => 1
     582                                )
     583                        )
     584                );
     585
     586                $posts = $this->q->query( $args );
     587                $posts2 = $this->q->query( $args2 );
     588
     589                $this->assertEquals($expected, wp_list_pluck( $posts, 'post_title' ));
     590                $this->assertEquals($expected, wp_list_pluck( $posts2, 'post_title' ));
     591        }
    546592}