WordPress.org

Make WordPress Core

Ticket #25538: 25538.unit-test.2.patch

File 25538.unit-test.2.patch, 1.5 KB (added by boonebgorges, 6 years ago)
  • tests/phpunit/tests/meta.php

    diff --git tests/phpunit/tests/meta.php tests/phpunit/tests/meta.php
    index 5d6413a..119612d 100644
    class Tests_Meta extends WP_UnitTestCase { 
    197197                                wp_cache_delete( $post_id, 'post_meta' );
    198198                }
    199199        }
     200
     201        function test_query_meta_query_order() {
     202                $p1 = $this->factory->post->create( array( 'post_title' => 'meta-value-1', 'post_date' => '2007-01-01 00:00:00' ) );
     203                $p2 = $this->factory->post->create( array( 'post_title' => 'meta-value-2', 'post_date' => '2007-02-01 00:00:00' ) );
     204                $p3 = $this->factory->post->create( array( 'post_title' => 'meta-value-3', 'post_date' => '2007-03-01 00:00:00' ) );
     205
     206                add_post_meta( $p1, 'order', 2 );
     207                add_post_meta( $p2, 'order', 1 );
     208                add_post_meta( $p3, 'order', 3 );
     209
     210                $posts1 = get_posts( array(
     211                        'post_type' => 'post',
     212                        'meta_key' => 'order',
     213                        'meta_value' => 1,
     214                        'meta_compare' => '>=',
     215                        'orderby' => 'meta_value'
     216                ) );
     217
     218                $this->assertSame( array( $p3, $p1, $p2 ), wp_list_pluck( $posts1, 'ID' ) );
     219
     220                $posts2 = get_posts( array(
     221                        'post_type' => 'post',
     222                        'meta_key' => 'order',
     223                        'meta_value' => 1,
     224                        'meta_compare' => '>=',
     225                        'orderby' => 'meta_value',
     226                        'meta_query' => array(
     227                                'relation' => 'OR',
     228                                array(
     229                                        'key' => 'order',
     230                                        'compare' => '>=',
     231                                        'value' => 1
     232                                ),
     233                                array(
     234                                        'key' => 'foo',
     235                                        'value' => 'bar',
     236                                ),
     237                        )
     238                ) );
     239
     240                $this->assertSame( array( $p3, $p1, $p2 ), wp_list_pluck( $posts2, 'ID' ) );
     241        }
    200242}