Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (6 years ago)
Author:
pento
Message:

Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.

File:
1 edited

Legend:

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

    r40605 r42343  
    2121
    2222    public function _get_query_result( $args = array() ) {
    23         $args = wp_parse_args( $args, array(
    24             'post_status'            => 'any', // For the future post
    25             'posts_per_page'         => '-1',  // To make sure results are accurate
    26             'orderby'                => 'ID',  // Same order they were created
    27             'order'                  => 'ASC',
    28             'update_post_meta_cache' => false,
    29             'update_post_term_cache' => false,
    30         ) );
     23        $args = wp_parse_args(
     24            $args, array(
     25                'post_status'            => 'any', // For the future post
     26                'posts_per_page'         => '-1',  // To make sure results are accurate
     27                'orderby'                => 'ID',  // Same order they were created
     28                'order'                  => 'ASC',
     29                'update_post_meta_cache' => false,
     30                'update_post_term_cache' => false,
     31            )
     32        );
    3133
    3234        return $this->q->query( $args );
     
    3436
    3537    public function test_date_query_before_array() {
    36         $p1 = self::factory()->post->create( array( 'post_date' => '2007-09-24 07:17:23',) );
    37         $p2 = self::factory()->post->create( array( 'post_date' => '2008-03-29 07:17:23',) );
    38         $p3 = self::factory()->post->create( array( 'post_date' => '2008-07-15 07:17:23',) );
    39         $p4 = self::factory()->post->create( array( 'post_date' => '2009-06-11 07:17:23',) );
    40 
    41         $posts = $this->_get_query_result( array(
    42             'date_query' => array(
    43                 array(
    44                     'before' => array(
    45                         'year' => 2008,
    46                         'month' => 6,
    47                     ),
    48                 ),
    49             ),
    50         ) );
     38        $p1 = self::factory()->post->create( array( 'post_date' => '2007-09-24 07:17:23' ) );
     39        $p2 = self::factory()->post->create( array( 'post_date' => '2008-03-29 07:17:23' ) );
     40        $p3 = self::factory()->post->create( array( 'post_date' => '2008-07-15 07:17:23' ) );
     41        $p4 = self::factory()->post->create( array( 'post_date' => '2009-06-11 07:17:23' ) );
     42
     43        $posts = $this->_get_query_result(
     44            array(
     45                'date_query' => array(
     46                    array(
     47                        'before' => array(
     48                            'year'  => 2008,
     49                            'month' => 6,
     50                        ),
     51                    ),
     52                ),
     53            )
     54        );
    5155
    5256        $this->assertEqualSets( array( $p1, $p2 ), wp_list_pluck( $posts, 'ID' ) );
     
    5862     */
    5963    public function test_date_query_before_array_test_defaulting() {
    60         $p1 = self::factory()->post->create( array( 'post_date' => '2007-09-24 07:17:23',) );
    61         $p2 = self::factory()->post->create( array( 'post_date' => '2008-03-29 07:17:23',) );
    62 
    63         $posts = $this->_get_query_result( array(
    64             'date_query' => array(
    65                 array(
    66                     'before' => array(
    67                         'year' => 2008,
    68                     ),
    69                 ),
    70             ),
    71         ) );
     64        $p1 = self::factory()->post->create( array( 'post_date' => '2007-09-24 07:17:23' ) );
     65        $p2 = self::factory()->post->create( array( 'post_date' => '2008-03-29 07:17:23' ) );
     66
     67        $posts = $this->_get_query_result(
     68            array(
     69                'date_query' => array(
     70                    array(
     71                        'before' => array(
     72                            'year' => 2008,
     73                        ),
     74                    ),
     75                ),
     76            )
     77        );
    7278
    7379        $this->assertEqualSets( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    7581
    7682    public function test_date_query_before_string() {
    77         $p1 = self::factory()->post->create( array( 'post_date' => '2007-09-24 07:17:23',) );
    78         $p2 = self::factory()->post->create( array( 'post_date' => '2008-03-29 07:17:23',) );
    79         $p3 = self::factory()->post->create( array( 'post_date' => '2008-07-15 07:17:23',) );
    80         $p4 = self::factory()->post->create( array( 'post_date' => '2009-06-11 07:17:23',) );
    81 
    82         $posts = $this->_get_query_result( array(
    83             'date_query' => array(
    84                 array(
    85                     'before' => 'May 4th, 2008',
    86                 ),
    87             ),
    88         ) );
     83        $p1 = self::factory()->post->create( array( 'post_date' => '2007-09-24 07:17:23' ) );
     84        $p2 = self::factory()->post->create( array( 'post_date' => '2008-03-29 07:17:23' ) );
     85        $p3 = self::factory()->post->create( array( 'post_date' => '2008-07-15 07:17:23' ) );
     86        $p4 = self::factory()->post->create( array( 'post_date' => '2009-06-11 07:17:23' ) );
     87
     88        $posts = $this->_get_query_result(
     89            array(
     90                'date_query' => array(
     91                    array(
     92                        'before' => 'May 4th, 2008',
     93                    ),
     94                ),
     95            )
     96        );
    8997
    9098        $this->assertEquals( array( $p1, $p2 ), wp_list_pluck( $posts, 'ID' ) );
     
    92100
    93101    public function test_date_query_after_array() {
    94         $p1 = self::factory()->post->create( array( 'post_date' => '2009-10-18 10:42:29', ) );
    95         $p2 = self::factory()->post->create( array( 'post_date' => '2009-12-18 10:42:29', ) );
    96         $p3 = self::factory()->post->create( array( 'post_date' => '2010-06-11 07:17:23', ) );
    97 
    98         $posts = $this->_get_query_result( array(
    99             'date_query' => array(
    100                 array(
    101                     'after' => array(
    102                         'year'  => 2009,
    103                         'month' => 12,
    104                         'day'   => 31,
    105                     ),
    106                 ),
    107             ),
    108         ) );
     102        $p1 = self::factory()->post->create( array( 'post_date' => '2009-10-18 10:42:29' ) );
     103        $p2 = self::factory()->post->create( array( 'post_date' => '2009-12-18 10:42:29' ) );
     104        $p3 = self::factory()->post->create( array( 'post_date' => '2010-06-11 07:17:23' ) );
     105
     106        $posts = $this->_get_query_result(
     107            array(
     108                'date_query' => array(
     109                    array(
     110                        'after' => array(
     111                            'year'  => 2009,
     112                            'month' => 12,
     113                            'day'   => 31,
     114                        ),
     115                    ),
     116                ),
     117            )
     118        );
    109119
    110120        $this->assertEqualSets( array( $p3 ), wp_list_pluck( $posts, 'ID' ) );
     
    116126     */
    117127    public function test_date_query_after_array_test_defaulting() {
    118         $p1 = self::factory()->post->create( array( 'post_date' => '2008-12-18 10:42:29', ) );
    119         $p2 = self::factory()->post->create( array( 'post_date' => '2009-01-18 10:42:29', ) );
    120 
    121         $posts = $this->_get_query_result( array(
    122             'date_query' => array(
    123                 array(
    124                     'after' => array(
    125                         'year' => 2008,
    126                     ),
    127                 ),
    128             ),
    129         ) );
     128        $p1 = self::factory()->post->create( array( 'post_date' => '2008-12-18 10:42:29' ) );
     129        $p2 = self::factory()->post->create( array( 'post_date' => '2009-01-18 10:42:29' ) );
     130
     131        $posts = $this->_get_query_result(
     132            array(
     133                'date_query' => array(
     134                    array(
     135                        'after' => array(
     136                            'year' => 2008,
     137                        ),
     138                    ),
     139                ),
     140            )
     141        );
    130142
    131143        $this->assertEquals( array( $p2 ), wp_list_pluck( $posts, 'ID' ) );
     
    133145
    134146    public function test_date_query_after_string() {
    135         $p1 = self::factory()->post->create( array( 'post_date' => '2009-12-18 09:42:29', ) );
    136         $p2 = self::factory()->post->create( array( 'post_date' => '2009-12-18 10:42:29', ) );
    137         $p3 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29', ) );
    138 
    139         $posts = $this->_get_query_result( array(
    140             'date_query' => array(
    141                 array(
    142                     'after' => '2009-12-18 10:42:29',
    143                 ),
    144             ),
    145         ) );
     147        $p1 = self::factory()->post->create( array( 'post_date' => '2009-12-18 09:42:29' ) );
     148        $p2 = self::factory()->post->create( array( 'post_date' => '2009-12-18 10:42:29' ) );
     149        $p3 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29' ) );
     150
     151        $posts = $this->_get_query_result(
     152            array(
     153                'date_query' => array(
     154                    array(
     155                        'after' => '2009-12-18 10:42:29',
     156                    ),
     157                ),
     158            )
     159        );
    146160
    147161        $this->assertEquals( array( $p3 ), wp_list_pluck( $posts, 'ID' ) );
     
    149163
    150164    public function test_date_query_after_string_inclusive() {
    151         $p1 = self::factory()->post->create( array( 'post_date' => '2009-12-18 09:42:29', ) );
    152         $p2 = self::factory()->post->create( array( 'post_date' => '2009-12-18 10:42:29', ) );
    153         $p3 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29', ) );
    154 
    155         $posts = $this->_get_query_result( array(
    156             'date_query' => array(
    157                 array(
    158                     'after'     => '2009-12-18 10:42:29',
     165        $p1 = self::factory()->post->create( array( 'post_date' => '2009-12-18 09:42:29' ) );
     166        $p2 = self::factory()->post->create( array( 'post_date' => '2009-12-18 10:42:29' ) );
     167        $p3 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29' ) );
     168
     169        $posts = $this->_get_query_result(
     170            array(
     171                'date_query' => array(
     172                    array(
     173                        'after'     => '2009-12-18 10:42:29',
     174                        'inclusive' => true,
     175                    ),
     176                ),
     177            )
     178        );
     179
     180        $this->assertEquals( array( $p2, $p3 ), wp_list_pluck( $posts, 'ID' ) );
     181    }
     182
     183    /**
     184     * @ticket 26653
     185     */
     186    public function test_date_query_inclusive_between_dates() {
     187        $p1 = self::factory()->post->create( array( 'post_date' => '2006-12-18 09:42:29' ) );
     188        $p2 = self::factory()->post->create( array( 'post_date' => '2007-01-18 10:42:29' ) );
     189        $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-19 10:42:29' ) );
     190        $p4 = self::factory()->post->create( array( 'post_date' => '2008-12-19 10:42:29' ) );
     191        $p5 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29' ) );
     192
     193        $posts = $this->_get_query_result(
     194            array(
     195                'date_query' => array(
     196                    'after'     => array(
     197                        'year'  => 2007,
     198                        'month' => 1,
     199                    ),
     200                    'before'    => array(
     201                        'year'  => 2008,
     202                        'month' => 12,
     203                    ),
    159204                    'inclusive' => true,
    160205                ),
    161             ),
    162         ) );
    163 
    164         $this->assertEquals( array( $p2, $p3 ), wp_list_pluck( $posts, 'ID' ) );
    165     }
    166 
    167     /**
    168      * @ticket 26653
    169      */
    170     public function test_date_query_inclusive_between_dates() {
    171         $p1 = self::factory()->post->create( array( 'post_date' => '2006-12-18 09:42:29', ) );
    172         $p2 = self::factory()->post->create( array( 'post_date' => '2007-01-18 10:42:29', ) );
    173         $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-19 10:42:29', ) );
    174         $p4 = self::factory()->post->create( array( 'post_date' => '2008-12-19 10:42:29', ) );
    175         $p5 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29', ) );
    176 
    177         $posts = $this->_get_query_result( array(
    178             'date_query' => array(
    179                 'after' => array(
    180                     'year' => 2007,
    181                     'month' => 1
    182                 ),
    183                 'before' => array(
    184                     'year' => 2008,
    185                     'month' => 12
    186                 ),
    187                 'inclusive' => true
    188             ),
    189         ) );
     206            )
     207        );
    190208
    191209        $this->assertEquals( array( $p2, $p3, $p4 ), wp_list_pluck( $posts, 'ID' ) );
     
    196214     */
    197215    public function test_beforeafter_with_date_string_Y() {
    198         $p1 = self::factory()->post->create( array(
    199             'post_date' => '2008-05-06 13:00:00',
    200         ) );
    201         $p2 = self::factory()->post->create( array(
    202             'post_date' => '2007-05-07 13:00:00',
    203         ) );
    204 
    205         $before_posts = $this->_get_query_result( array(
    206             'fields' => 'ids',
    207             'update_post_meta_cache' => false,
    208             'update_post_term_cache' => false,
    209             'date_query' => array(
    210                 'before' => '2008',
    211             ),
    212         ) );
    213 
    214         $after_posts = $this->_get_query_result( array(
    215             'fields' => 'ids',
    216             'update_post_meta_cache' => false,
    217             'update_post_term_cache' => false,
    218             'date_query' => array(
    219                 'after' => '2007',
    220             ),
    221         ) );
     216        $p1 = self::factory()->post->create(
     217            array(
     218                'post_date' => '2008-05-06 13:00:00',
     219            )
     220        );
     221        $p2 = self::factory()->post->create(
     222            array(
     223                'post_date' => '2007-05-07 13:00:00',
     224            )
     225        );
     226
     227        $before_posts = $this->_get_query_result(
     228            array(
     229                'fields'                 => 'ids',
     230                'update_post_meta_cache' => false,
     231                'update_post_term_cache' => false,
     232                'date_query'             => array(
     233                    'before' => '2008',
     234                ),
     235            )
     236        );
     237
     238        $after_posts = $this->_get_query_result(
     239            array(
     240                'fields'                 => 'ids',
     241                'update_post_meta_cache' => false,
     242                'update_post_term_cache' => false,
     243                'date_query'             => array(
     244                    'after' => '2007',
     245                ),
     246            )
     247        );
    222248
    223249        $this->assertEquals( array( $p2 ), $before_posts );
     
    229255     */
    230256    public function test_beforeafter_with_date_string_Y_inclusive() {
    231         $p1 = self::factory()->post->create( array(
    232             'post_date' => '2008-05-06 13:00:00',
    233         ) );
    234         $p2 = self::factory()->post->create( array(
    235             'post_date' => '2007-05-07 13:00:00',
    236         ) );
    237 
    238         $before_posts = $this->_get_query_result( array(
    239             'fields' => 'ids',
    240             'update_post_meta_cache' => false,
    241             'update_post_term_cache' => false,
    242             'date_query' => array(
    243                 'before' => '2008',
    244                 'inclusive' => true,
    245             ),
    246         ) );
    247 
    248         $after_posts = $this->_get_query_result( array(
    249             'fields' => 'ids',
    250             'update_post_meta_cache' => false,
    251             'update_post_term_cache' => false,
    252             'date_query' => array(
    253                 'after' => '2007',
    254                 'inclusive' => true,
    255             ),
    256         ) );
     257        $p1 = self::factory()->post->create(
     258            array(
     259                'post_date' => '2008-05-06 13:00:00',
     260            )
     261        );
     262        $p2 = self::factory()->post->create(
     263            array(
     264                'post_date' => '2007-05-07 13:00:00',
     265            )
     266        );
     267
     268        $before_posts = $this->_get_query_result(
     269            array(
     270                'fields'                 => 'ids',
     271                'update_post_meta_cache' => false,
     272                'update_post_term_cache' => false,
     273                'date_query'             => array(
     274                    'before'    => '2008',
     275                    'inclusive' => true,
     276                ),
     277            )
     278        );
     279
     280        $after_posts = $this->_get_query_result(
     281            array(
     282                'fields'                 => 'ids',
     283                'update_post_meta_cache' => false,
     284                'update_post_term_cache' => false,
     285                'date_query'             => array(
     286                    'after'     => '2007',
     287                    'inclusive' => true,
     288                ),
     289            )
     290        );
    257291
    258292        $this->assertEqualSets( array( $p1, $p2 ), $before_posts );
     
    264298     */
    265299    public function test_beforeafter_with_date_string_Ym() {
    266         $p1 = self::factory()->post->create( array(
    267             'post_date' => '2008-05-06 13:00:00',
    268         ) );
    269         $p2 = self::factory()->post->create( array(
    270             'post_date' => '2008-04-07 13:00:00',
    271         ) );
    272 
    273         $before_posts = $this->_get_query_result( array(
    274             'fields' => 'ids',
    275             'update_post_meta_cache' => false,
    276             'update_post_term_cache' => false,
    277             'date_query' => array(
    278                 'before' => '2008-05',
    279             ),
    280         ) );
    281 
    282         $after_posts = $this->_get_query_result( array(
    283             'fields' => 'ids',
    284             'update_post_meta_cache' => false,
    285             'update_post_term_cache' => false,
    286             'date_query' => array(
    287                 'after' => '2008-04',
    288             ),
    289         ) );
     300        $p1 = self::factory()->post->create(
     301            array(
     302                'post_date' => '2008-05-06 13:00:00',
     303            )
     304        );
     305        $p2 = self::factory()->post->create(
     306            array(
     307                'post_date' => '2008-04-07 13:00:00',
     308            )
     309        );
     310
     311        $before_posts = $this->_get_query_result(
     312            array(
     313                'fields'                 => 'ids',
     314                'update_post_meta_cache' => false,
     315                'update_post_term_cache' => false,
     316                'date_query'             => array(
     317                    'before' => '2008-05',
     318                ),
     319            )
     320        );
     321
     322        $after_posts = $this->_get_query_result(
     323            array(
     324                'fields'                 => 'ids',
     325                'update_post_meta_cache' => false,
     326                'update_post_term_cache' => false,
     327                'date_query'             => array(
     328                    'after' => '2008-04',
     329                ),
     330            )
     331        );
    290332
    291333        $this->assertEquals( array( $p2 ), $before_posts );
     
    297339     */
    298340    public function test_beforeafter_with_date_string_Ym_inclusive() {
    299         $p1 = self::factory()->post->create( array(
    300             'post_date' => '2008-05-06 13:00:00',
    301         ) );
    302         $p2 = self::factory()->post->create( array(
    303             'post_date' => '2008-04-07 13:00:00',
    304         ) );
    305 
    306         $before_posts = $this->_get_query_result( array(
    307             'fields' => 'ids',
    308             'update_post_meta_cache' => false,
    309             'update_post_term_cache' => false,
    310             'date_query' => array(
    311                 'before' => '2008-05',
    312                 'inclusive' => true,
    313             ),
    314         ) );
    315 
    316         $after_posts = $this->_get_query_result( array(
    317             'fields' => 'ids',
    318             'update_post_meta_cache' => false,
    319             'update_post_term_cache' => false,
    320             'date_query' => array(
    321                 'after' => '2008-04',
    322                 'inclusive' => true,
    323             ),
    324         ) );
     341        $p1 = self::factory()->post->create(
     342            array(
     343                'post_date' => '2008-05-06 13:00:00',
     344            )
     345        );
     346        $p2 = self::factory()->post->create(
     347            array(
     348                'post_date' => '2008-04-07 13:00:00',
     349            )
     350        );
     351
     352        $before_posts = $this->_get_query_result(
     353            array(
     354                'fields'                 => 'ids',
     355                'update_post_meta_cache' => false,
     356                'update_post_term_cache' => false,
     357                'date_query'             => array(
     358                    'before'    => '2008-05',
     359                    'inclusive' => true,
     360                ),
     361            )
     362        );
     363
     364        $after_posts = $this->_get_query_result(
     365            array(
     366                'fields'                 => 'ids',
     367                'update_post_meta_cache' => false,
     368                'update_post_term_cache' => false,
     369                'date_query'             => array(
     370                    'after'     => '2008-04',
     371                    'inclusive' => true,
     372                ),
     373            )
     374        );
    325375
    326376        $this->assertEqualSets( array( $p1, $p2 ), $before_posts );
     
    332382     */
    333383    public function test_beforeafter_with_date_string_Ymd() {
    334         $p1 = self::factory()->post->create( array(
    335             'post_date' => '2008-05-06 13:00:00',
    336         ) );
    337         $p2 = self::factory()->post->create( array(
    338             'post_date' => '2008-05-05 13:00:00',
    339         ) );
    340 
    341         $before_posts = $this->_get_query_result( array(
    342             'fields' => 'ids',
    343             'update_post_meta_cache' => false,
    344             'update_post_term_cache' => false,
    345             'date_query' => array(
    346                 'before' => '2008-05-06',
    347             ),
    348         ) );
    349 
    350         $after_posts = $this->_get_query_result( array(
    351             'fields' => 'ids',
    352             'update_post_meta_cache' => false,
    353             'update_post_term_cache' => false,
    354             'date_query' => array(
    355                 'after' => '2008-05-05',
    356             ),
    357         ) );
     384        $p1 = self::factory()->post->create(
     385            array(
     386                'post_date' => '2008-05-06 13:00:00',
     387            )
     388        );
     389        $p2 = self::factory()->post->create(
     390            array(
     391                'post_date' => '2008-05-05 13:00:00',
     392            )
     393        );
     394
     395        $before_posts = $this->_get_query_result(
     396            array(
     397                'fields'                 => 'ids',
     398                'update_post_meta_cache' => false,
     399                'update_post_term_cache' => false,
     400                'date_query'             => array(
     401                    'before' => '2008-05-06',
     402                ),
     403            )
     404        );
     405
     406        $after_posts = $this->_get_query_result(
     407            array(
     408                'fields'                 => 'ids',
     409                'update_post_meta_cache' => false,
     410                'update_post_term_cache' => false,
     411                'date_query'             => array(
     412                    'after' => '2008-05-05',
     413                ),
     414            )
     415        );
    358416
    359417        $this->assertEquals( array( $p2 ), $before_posts );
     
    365423     */
    366424    public function test_beforeafter_with_date_string_Ymd_inclusive() {
    367         $p1 = self::factory()->post->create( array(
    368             'post_date' => '2008-05-06 13:00:00',
    369         ) );
    370         $p2 = self::factory()->post->create( array(
    371             'post_date' => '2008-05-05 13:00:00',
    372         ) );
    373 
    374         $before_posts = $this->_get_query_result( array(
    375             'fields' => 'ids',
    376             'update_post_meta_cache' => false,
    377             'update_post_term_cache' => false,
    378             'date_query' => array(
    379                 'before' => '2008-05-06',
    380                 'inclusive' => true,
    381             ),
    382         ) );
    383 
    384         $after_posts = $this->_get_query_result( array(
    385             'fields' => 'ids',
    386             'update_post_meta_cache' => false,
    387             'update_post_term_cache' => false,
    388             'date_query' => array(
    389                 'after' => '2008-05-05',
    390                 'inclusive' => true,
    391             ),
    392         ) );
     425        $p1 = self::factory()->post->create(
     426            array(
     427                'post_date' => '2008-05-06 13:00:00',
     428            )
     429        );
     430        $p2 = self::factory()->post->create(
     431            array(
     432                'post_date' => '2008-05-05 13:00:00',
     433            )
     434        );
     435
     436        $before_posts = $this->_get_query_result(
     437            array(
     438                'fields'                 => 'ids',
     439                'update_post_meta_cache' => false,
     440                'update_post_term_cache' => false,
     441                'date_query'             => array(
     442                    'before'    => '2008-05-06',
     443                    'inclusive' => true,
     444                ),
     445            )
     446        );
     447
     448        $after_posts = $this->_get_query_result(
     449            array(
     450                'fields'                 => 'ids',
     451                'update_post_meta_cache' => false,
     452                'update_post_term_cache' => false,
     453                'date_query'             => array(
     454                    'after'     => '2008-05-05',
     455                    'inclusive' => true,
     456                ),
     457            )
     458        );
    393459
    394460        $this->assertEqualSets( array( $p1, $p2 ), $before_posts );
     
    400466     */
    401467    public function test_beforeafter_with_date_string_YmdHi() {
    402         $p1 = self::factory()->post->create( array(
    403             'post_date' => '2008-05-06 14:05:00',
    404         ) );
    405         $p2 = self::factory()->post->create( array(
    406             'post_date' => '2008-05-06 14:04:00',
    407         ) );
    408 
    409         $before_posts = $this->_get_query_result( array(
    410             'fields' => 'ids',
    411             'update_post_meta_cache' => false,
    412             'update_post_term_cache' => false,
    413             'date_query' => array(
    414                 'before' => '2008-05-06 14:05',
    415             ),
    416         ) );
    417 
    418         $after_posts = $this->_get_query_result( array(
    419             'fields' => 'ids',
    420             'update_post_meta_cache' => false,
    421             'update_post_term_cache' => false,
    422             'date_query' => array(
    423                 'after' => '2008-05-06 14:04',
    424             ),
    425         ) );
     468        $p1 = self::factory()->post->create(
     469            array(
     470                'post_date' => '2008-05-06 14:05:00',
     471            )
     472        );
     473        $p2 = self::factory()->post->create(
     474            array(
     475                'post_date' => '2008-05-06 14:04:00',
     476            )
     477        );
     478
     479        $before_posts = $this->_get_query_result(
     480            array(
     481                'fields'                 => 'ids',
     482                'update_post_meta_cache' => false,
     483                'update_post_term_cache' => false,
     484                'date_query'             => array(
     485                    'before' => '2008-05-06 14:05',
     486                ),
     487            )
     488        );
     489
     490        $after_posts = $this->_get_query_result(
     491            array(
     492                'fields'                 => 'ids',
     493                'update_post_meta_cache' => false,
     494                'update_post_term_cache' => false,
     495                'date_query'             => array(
     496                    'after' => '2008-05-06 14:04',
     497                ),
     498            )
     499        );
    426500
    427501        $this->assertEquals( array( $p2 ), $before_posts );
     
    433507     */
    434508    public function test_beforeafter_with_date_string_YmdHi_inclusive() {
    435         $p1 = self::factory()->post->create( array(
    436             'post_date' => '2008-05-06 14:05:00',
    437         ) );
    438         $p2 = self::factory()->post->create( array(
    439             'post_date' => '2008-05-06 14:04:00',
    440         ) );
    441 
    442         $before_posts = $this->_get_query_result( array(
    443             'fields' => 'ids',
    444             'update_post_meta_cache' => false,
    445             'update_post_term_cache' => false,
    446             'date_query' => array(
    447                 'before' => '2008-05-06 14:05',
    448                 'inclusive' => true,
    449             ),
    450         ) );
    451 
    452         $after_posts = $this->_get_query_result( array(
    453             'fields' => 'ids',
    454             'update_post_meta_cache' => false,
    455             'update_post_term_cache' => false,
    456             'date_query' => array(
    457                 'after' => '2008-05-06 14:04',
    458                 'inclusive' => true,
    459             ),
    460         ) );
     509        $p1 = self::factory()->post->create(
     510            array(
     511                'post_date' => '2008-05-06 14:05:00',
     512            )
     513        );
     514        $p2 = self::factory()->post->create(
     515            array(
     516                'post_date' => '2008-05-06 14:04:00',
     517            )
     518        );
     519
     520        $before_posts = $this->_get_query_result(
     521            array(
     522                'fields'                 => 'ids',
     523                'update_post_meta_cache' => false,
     524                'update_post_term_cache' => false,
     525                'date_query'             => array(
     526                    'before'    => '2008-05-06 14:05',
     527                    'inclusive' => true,
     528                ),
     529            )
     530        );
     531
     532        $after_posts = $this->_get_query_result(
     533            array(
     534                'fields'                 => 'ids',
     535                'update_post_meta_cache' => false,
     536                'update_post_term_cache' => false,
     537                'date_query'             => array(
     538                    'after'     => '2008-05-06 14:04',
     539                    'inclusive' => true,
     540                ),
     541            )
     542        );
    461543
    462544        $this->assertEqualSets( array( $p1, $p2 ), $before_posts );
     
    468550     */
    469551    public function test_beforeafter_with_date_string_YmdHis() {
    470         $p1 = self::factory()->post->create( array(
    471             'post_date' => '2008-05-06 14:05:15',
    472         ) );
    473         $p2 = self::factory()->post->create( array(
    474             'post_date' => '2008-05-06 14:05:14',
    475         ) );
    476 
    477         $before_posts = $this->_get_query_result( array(
    478             'fields' => 'ids',
    479             'update_post_meta_cache' => false,
    480             'update_post_term_cache' => false,
    481             'date_query' => array(
    482                 'before' => '2008-05-06 14:05:15',
    483             ),
    484         ) );
    485 
    486         $after_posts = $this->_get_query_result( array(
    487             'fields' => 'ids',
    488             'update_post_meta_cache' => false,
    489             'update_post_term_cache' => false,
    490             'date_query' => array(
    491                 'after' => '2008-05-06 14:05:14',
    492             ),
    493         ) );
     552        $p1 = self::factory()->post->create(
     553            array(
     554                'post_date' => '2008-05-06 14:05:15',
     555            )
     556        );
     557        $p2 = self::factory()->post->create(
     558            array(
     559                'post_date' => '2008-05-06 14:05:14',
     560            )
     561        );
     562
     563        $before_posts = $this->_get_query_result(
     564            array(
     565                'fields'                 => 'ids',
     566                'update_post_meta_cache' => false,
     567                'update_post_term_cache' => false,
     568                'date_query'             => array(
     569                    'before' => '2008-05-06 14:05:15',
     570                ),
     571            )
     572        );
     573
     574        $after_posts = $this->_get_query_result(
     575            array(
     576                'fields'                 => 'ids',
     577                'update_post_meta_cache' => false,
     578                'update_post_term_cache' => false,
     579                'date_query'             => array(
     580                    'after' => '2008-05-06 14:05:14',
     581                ),
     582            )
     583        );
    494584
    495585        $this->assertEquals( array( $p2 ), $before_posts );
     
    501591     */
    502592    public function test_beforeafter_with_date_string_YmdHis_inclusive() {
    503         $p1 = self::factory()->post->create( array(
    504             'post_date' => '2008-05-06 14:04:15',
    505         ) );
    506         $p2 = self::factory()->post->create( array(
    507             'post_date' => '2008-05-06 14:04:14',
    508         ) );
    509 
    510         $before_posts = $this->_get_query_result( array(
    511             'fields' => 'ids',
    512             'update_post_meta_cache' => false,
    513             'update_post_term_cache' => false,
    514             'date_query' => array(
    515                 'before' => '2008-05-06 14:04:15',
    516                 'inclusive' => true,
    517             ),
    518         ) );
    519 
    520         $after_posts = $this->_get_query_result( array(
    521             'fields' => 'ids',
    522             'update_post_meta_cache' => false,
    523             'update_post_term_cache' => false,
    524             'date_query' => array(
    525                 'after' => '2008-05-06 14:04:14',
    526                 'inclusive' => true,
    527             ),
    528         ) );
     593        $p1 = self::factory()->post->create(
     594            array(
     595                'post_date' => '2008-05-06 14:04:15',
     596            )
     597        );
     598        $p2 = self::factory()->post->create(
     599            array(
     600                'post_date' => '2008-05-06 14:04:14',
     601            )
     602        );
     603
     604        $before_posts = $this->_get_query_result(
     605            array(
     606                'fields'                 => 'ids',
     607                'update_post_meta_cache' => false,
     608                'update_post_term_cache' => false,
     609                'date_query'             => array(
     610                    'before'    => '2008-05-06 14:04:15',
     611                    'inclusive' => true,
     612                ),
     613            )
     614        );
     615
     616        $after_posts = $this->_get_query_result(
     617            array(
     618                'fields'                 => 'ids',
     619                'update_post_meta_cache' => false,
     620                'update_post_term_cache' => false,
     621                'date_query'             => array(
     622                    'after'     => '2008-05-06 14:04:14',
     623                    'inclusive' => true,
     624                ),
     625            )
     626        );
    529627
    530628        $this->assertEqualSets( array( $p1, $p2 ), $before_posts );
     
    536634     */
    537635    public function test_beforeafter_with_date_string_non_parseable() {
    538         $p1 = self::factory()->post->create( array(
    539             'post_date' => '2008-05-06 14:05:15',
    540         ) );
    541         $p2 = self::factory()->post->create( array(
    542             'post_date' => '2008-05-06 14:05:14',
    543         ) );
    544 
    545         $before_posts = $this->_get_query_result( array(
    546             'fields' => 'ids',
    547             'update_post_meta_cache' => false,
    548             'update_post_term_cache' => false,
    549             'date_query' => array(
    550                 'before' => 'June 12, 2008',
    551             ),
    552         ) );
    553 
    554         $after_posts = $this->_get_query_result( array(
    555             'fields' => 'ids',
    556             'update_post_meta_cache' => false,
    557             'update_post_term_cache' => false,
    558             'date_query' => array(
    559                 'after' => 'June 12, 2007',
    560             ),
    561         ) );
     636        $p1 = self::factory()->post->create(
     637            array(
     638                'post_date' => '2008-05-06 14:05:15',
     639            )
     640        );
     641        $p2 = self::factory()->post->create(
     642            array(
     643                'post_date' => '2008-05-06 14:05:14',
     644            )
     645        );
     646
     647        $before_posts = $this->_get_query_result(
     648            array(
     649                'fields'                 => 'ids',
     650                'update_post_meta_cache' => false,
     651                'update_post_term_cache' => false,
     652                'date_query'             => array(
     653                    'before' => 'June 12, 2008',
     654                ),
     655            )
     656        );
     657
     658        $after_posts = $this->_get_query_result(
     659            array(
     660                'fields'                 => 'ids',
     661                'update_post_meta_cache' => false,
     662                'update_post_term_cache' => false,
     663                'date_query'             => array(
     664                    'after' => 'June 12, 2007',
     665                ),
     666            )
     667        );
    562668
    563669        $this->assertEquals( array( $p1, $p2 ), $before_posts );
     
    565671
    566672    public function test_date_query_year() {
    567         $p1 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29', ) );
    568         $p2 = self::factory()->post->create( array( 'post_date' => '2010-12-19 10:42:29', ) );
    569         $posts = $this->_get_query_result( array(
    570             'date_query' => array(
    571                 array(
    572                     'year' => 2009,
    573                 ),
    574             ),
    575         ) );
     673        $p1    = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29' ) );
     674        $p2    = self::factory()->post->create( array( 'post_date' => '2010-12-19 10:42:29' ) );
     675        $posts = $this->_get_query_result(
     676            array(
     677                'date_query' => array(
     678                    array(
     679                        'year' => 2009,
     680                    ),
     681                ),
     682            )
     683        );
    576684
    577685        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    579687
    580688    public function test_date_query_month() {
    581         $p1 = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29', ) );
    582         $p2 = self::factory()->post->create( array( 'post_date' => '2010-11-19 10:42:29', ) );
    583         $posts = $this->_get_query_result( array(
    584             'date_query' => array(
    585                 array(
    586                     'month' => 12,
    587                 ),
    588             ),
    589         ) );
     689        $p1    = self::factory()->post->create( array( 'post_date' => '2009-12-19 10:42:29' ) );
     690        $p2    = self::factory()->post->create( array( 'post_date' => '2010-11-19 10:42:29' ) );
     691        $posts = $this->_get_query_result(
     692            array(
     693                'date_query' => array(
     694                    array(
     695                        'month' => 12,
     696                    ),
     697                ),
     698            )
     699        );
    590700
    591701        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    593703
    594704    public function test_date_query_week() {
    595         $p1 = self::factory()->post->create( array( 'post_date' => '2009-01-02 10:42:29', ) );
    596         $p2 = self::factory()->post->create( array( 'post_date' => '2010-03-19 10:42:29', ) );
    597         $posts = $this->_get_query_result( array(
    598             'date_query' => array(
    599                 array(
    600                     'week' => 1,
    601                 ),
    602             ),
    603         ) );
     705        $p1    = self::factory()->post->create( array( 'post_date' => '2009-01-02 10:42:29' ) );
     706        $p2    = self::factory()->post->create( array( 'post_date' => '2010-03-19 10:42:29' ) );
     707        $posts = $this->_get_query_result(
     708            array(
     709                'date_query' => array(
     710                    array(
     711                        'week' => 1,
     712                    ),
     713                ),
     714            )
     715        );
    604716
    605717        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    607719
    608720    public function test_date_query_day() {
    609         $p1 = self::factory()->post->create( array( 'post_date' => '2009-01-17 10:42:29', ) );
    610         $p2 = self::factory()->post->create( array( 'post_date' => '2009-01-18 10:42:29', ) );
    611 
    612         $posts = $this->_get_query_result( array(
    613             'date_query' => array(
    614                 array(
    615                     'day' => 17,
    616                 ),
    617             ),
    618         ) );
     721        $p1 = self::factory()->post->create( array( 'post_date' => '2009-01-17 10:42:29' ) );
     722        $p2 = self::factory()->post->create( array( 'post_date' => '2009-01-18 10:42:29' ) );
     723
     724        $posts = $this->_get_query_result(
     725            array(
     726                'date_query' => array(
     727                    array(
     728                        'day' => 17,
     729                    ),
     730                ),
     731            )
     732        );
    619733
    620734        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    622736
    623737    public function test_date_query_dayofweek() {
    624         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:29', ) );
    625         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-20 10:42:29', ) );
    626 
    627         $posts = $this->_get_query_result( array(
    628             'date_query' => array(
    629                 array(
    630                     'dayofweek' => 3,
    631                 ),
    632             ),
    633         ) );
     738        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:29' ) );
     739        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-20 10:42:29' ) );
     740
     741        $posts = $this->_get_query_result(
     742            array(
     743                'date_query' => array(
     744                    array(
     745                        'dayofweek' => 3,
     746                    ),
     747                ),
     748            )
     749        );
    634750
    635751        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    640756     */
    641757    public function test_date_query_dayofweek_iso() {
    642         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-31 10:42:29', ) );
    643         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-30 10:42:29', ) );
    644 
    645         $posts = $this->_get_query_result( array(
    646             'date_query' => array(
    647                 array(
    648                     'dayofweek_iso' => 5,
    649                 ),
    650             ),
    651         ) );
     758        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-31 10:42:29' ) );
     759        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-30 10:42:29' ) );
     760
     761        $posts = $this->_get_query_result(
     762            array(
     763                'date_query' => array(
     764                    array(
     765                        'dayofweek_iso' => 5,
     766                    ),
     767                ),
     768            )
     769        );
    652770
    653771        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    655773
    656774    public function test_date_query_hour() {
    657         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 13:42:29', ) );
    658         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 12:42:29', ) );
    659 
    660         $posts = $this->_get_query_result( array(
    661             'date_query' => array(
    662                 array(
    663                     'hour' => 13,
    664                 ),
    665             ),
    666         ) );
     775        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 13:42:29' ) );
     776        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 12:42:29' ) );
     777
     778        $posts = $this->_get_query_result(
     779            array(
     780                'date_query' => array(
     781                    array(
     782                        'hour' => 13,
     783                    ),
     784                ),
     785            )
     786        );
    667787
    668788        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    673793     */
    674794    public function test_date_query_hour_should_not_ignore_0() {
    675         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 00:42:29', ) );
    676         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 01:42:29', ) );
    677 
    678         $posts = $this->_get_query_result( array(
    679             'year' => 2014,
    680             'monthnum' => 10,
    681             'day' => 21,
    682             'hour' => 0,
    683             'minute' => 42,
    684         ) );
     795        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 00:42:29' ) );
     796        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 01:42:29' ) );
     797
     798        $posts = $this->_get_query_result(
     799            array(
     800                'year'     => 2014,
     801                'monthnum' => 10,
     802                'day'      => 21,
     803                'hour'     => 0,
     804                'minute'   => 42,
     805            )
     806        );
    685807
    686808        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    688810
    689811    public function test_date_query_minute() {
    690         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:56:29', ) );
    691         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:29', ) );
    692 
    693         $posts = $this->_get_query_result( array(
    694             'date_query' => array(
    695                 array(
    696                     'minute' => 56,
    697                 ),
    698             ),
    699         ) );
     812        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:56:29' ) );
     813        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:29' ) );
     814
     815        $posts = $this->_get_query_result(
     816            array(
     817                'date_query' => array(
     818                    array(
     819                        'minute' => 56,
     820                    ),
     821                ),
     822            )
     823        );
    700824
    701825        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    703827
    704828    public function test_date_query_second() {
    705         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:21', ) );
    706         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:29', ) );
    707 
    708         $posts = $this->_get_query_result( array(
    709             'date_query' => array(
    710                 array(
    711                     'second' => 21,
    712                 ),
    713             ),
    714         ) );
     829        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:21' ) );
     830        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-21 10:42:29' ) );
     831
     832        $posts = $this->_get_query_result(
     833            array(
     834                'date_query' => array(
     835                    array(
     836                        'second' => 21,
     837                    ),
     838                ),
     839            )
     840        );
    715841
    716842        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    718844
    719845    public function test_date_query_between_two_times() {
    720         $p1 = self::factory()->post->create( array( 'post_date' => '2005-12-18 08:42:29', ) );
    721         $p2 = self::factory()->post->create( array( 'post_date' => '2006-12-18 09:00:29', ) );
    722         $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-18 10:42:29', ) );
    723         $p4 = self::factory()->post->create( array( 'post_date' => '2008-12-18 17:00:29', ) );
    724         $p5 = self::factory()->post->create( array( 'post_date' => '2009-12-18 18:42:29', ) );
    725 
    726         $posts = $this->_get_query_result( array(
    727             'date_query' => array(
    728                 array(
    729                     'hour'    => 9,
    730                     'minute'  => 0,
     846        $p1 = self::factory()->post->create( array( 'post_date' => '2005-12-18 08:42:29' ) );
     847        $p2 = self::factory()->post->create( array( 'post_date' => '2006-12-18 09:00:29' ) );
     848        $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-18 10:42:29' ) );
     849        $p4 = self::factory()->post->create( array( 'post_date' => '2008-12-18 17:00:29' ) );
     850        $p5 = self::factory()->post->create( array( 'post_date' => '2009-12-18 18:42:29' ) );
     851
     852        $posts = $this->_get_query_result(
     853            array(
     854                'date_query' => array(
     855                    array(
     856                        'hour'    => 9,
     857                        'minute'  => 0,
     858                        'compare' => '>=',
     859                    ),
     860                    array(
     861                        'hour'    => '17',
     862                        'minute'  => '0',
     863                        'compare' => '<=',
     864                    ),
     865                ),
     866            )
     867        );
     868
     869        $this->assertEqualSets( array( $p2, $p3, $p4 ), wp_list_pluck( $posts, 'ID' ) );
     870    }
     871
     872    public function test_date_query_relation_or() {
     873        $p1 = self::factory()->post->create( array( 'post_date' => '2006-12-18 14:42:29' ) );
     874        $p2 = self::factory()->post->create( array( 'post_date' => '2007-01-18 10:42:29' ) );
     875        $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-19 10:34:29' ) );
     876
     877        $posts = $this->_get_query_result(
     878            array(
     879                'date_query' => array(
     880                    array(
     881                        'hour' => 14,
     882                    ),
     883                    array(
     884                        'minute' => 34,
     885                    ),
     886                    'relation' => 'OR',
     887                ),
     888            )
     889        );
     890
     891        $this->assertEquals( array( $p1, $p3 ), wp_list_pluck( $posts, 'ID' ) );
     892    }
     893
     894    public function test_date_query_compare_greater_than_or_equal_to() {
     895        $p1 = self::factory()->post->create( array( 'post_date' => '2006-12-18 13:42:29' ) );
     896        $p2 = self::factory()->post->create( array( 'post_date' => '2007-01-18 14:34:29' ) );
     897        $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-19 14:37:29' ) );
     898        $p4 = self::factory()->post->create( array( 'post_date' => '2007-12-19 15:34:29' ) );
     899
     900        $posts = $this->_get_query_result(
     901            array(
     902                'date_query' => array(
     903                    array(
     904                        'hour'   => 14,
     905                        'minute' => 34,
     906                    ),
    731907                    'compare' => '>=',
    732908                ),
    733                 array(
    734                     'hour'    => '17',
    735                     'minute'  => '0',
    736                     'compare' => '<=',
    737                 ),
    738             ),
    739         ) );
    740 
    741         $this->assertEqualSets( array( $p2, $p3, $p4 ), wp_list_pluck( $posts, 'ID' ) );
    742     }
    743 
    744     public function test_date_query_relation_or() {
    745         $p1 = self::factory()->post->create( array( 'post_date' => '2006-12-18 14:42:29', ) );
    746         $p2 = self::factory()->post->create( array( 'post_date' => '2007-01-18 10:42:29', ) );
    747         $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-19 10:34:29', ) );
    748 
    749         $posts = $this->_get_query_result( array(
    750             'date_query' => array(
    751                 array(
    752                     'hour' => 14,
    753                 ),
    754                 array(
    755                     'minute' => 34,
    756                 ),
    757                 'relation' => 'OR',
    758             ),
    759         ) );
    760 
    761         $this->assertEquals( array( $p1, $p3 ), wp_list_pluck( $posts, 'ID' ) );
    762     }
    763 
    764     public function test_date_query_compare_greater_than_or_equal_to() {
    765         $p1 = self::factory()->post->create( array( 'post_date' => '2006-12-18 13:42:29', ) );
    766         $p2 = self::factory()->post->create( array( 'post_date' => '2007-01-18 14:34:29', ) );
    767         $p3 = self::factory()->post->create( array( 'post_date' => '2007-12-19 14:37:29', ) );
    768         $p4 = self::factory()->post->create( array( 'post_date' => '2007-12-19 15:34:29', ) );
    769 
    770         $posts = $this->_get_query_result( array(
    771             'date_query' => array(
    772                 array(
    773                     'hour' => 14,
    774                     'minute' => 34,
    775                 ),
    776                 'compare' => '>=',
    777             ),
    778         ) );
     909            )
     910        );
    779911
    780912        $this->assertEquals( array( $p2, $p3, $p4 ), wp_list_pluck( $posts, 'ID' ) );
     
    784916        global $wpdb;
    785917
    786         $p1 = self::factory()->post->create( array( 'post_date' => '2006-05-18 13:42:29', ) );
    787         $p2 = self::factory()->post->create( array( 'post_date' => '2007-09-18 14:34:29', ) );
    788         $p3 = self::factory()->post->create( array( 'post_date' => '2007-01-18 14:34:29', ) );
    789 
    790         $posts = $this->_get_query_result( array(
    791             'date_query' => array(
    792                 'month' => 5,
    793                 'monthnum' => 9
    794             ),
    795         ) );
     918        $p1 = self::factory()->post->create( array( 'post_date' => '2006-05-18 13:42:29' ) );
     919        $p2 = self::factory()->post->create( array( 'post_date' => '2007-09-18 14:34:29' ) );
     920        $p3 = self::factory()->post->create( array( 'post_date' => '2007-01-18 14:34:29' ) );
     921
     922        $posts = $this->_get_query_result(
     923            array(
     924                'date_query' => array(
     925                    'month'    => 5,
     926                    'monthnum' => 9,
     927                ),
     928            )
     929        );
    796930
    797931        $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) );
     
    804938        global $wpdb;
    805939
    806         $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-01 13:42:29', ) );
    807         $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-22 14:34:29', ) );
    808         $p3 = self::factory()->post->create( array( 'post_date' => '2014-10-15 14:34:29', ) );
    809 
    810         $posts = $this->_get_query_result( array(
    811             'date_query' => array(
    812                 'week' => 43,
    813                 'w' => 42,
    814             ),
    815         ) );
     940        $p1 = self::factory()->post->create( array( 'post_date' => '2014-10-01 13:42:29' ) );
     941        $p2 = self::factory()->post->create( array( 'post_date' => '2014-10-22 14:34:29' ) );
     942        $p3 = self::factory()->post->create( array( 'post_date' => '2014-10-15 14:34:29' ) );
     943
     944        $posts = $this->_get_query_result(
     945            array(
     946                'date_query' => array(
     947                    'week' => 43,
     948                    'w'    => 42,
     949                ),
     950            )
     951        );
    816952
    817953        $this->assertEquals( array( $p2 ), wp_list_pluck( $posts, 'ID' ) );
     
    825961     */
    826962    public function test_date_query_with_taxonomy_join() {
    827         $p1 = self::factory()->post->create( array(
    828             'post_date' => '2013-04-27 01:01:01',
    829         ) );
    830         $p2 = self::factory()->post->create( array(
    831             'post_date' => '2013-03-21 01:01:01',
    832         ) );
     963        $p1 = self::factory()->post->create(
     964            array(
     965                'post_date' => '2013-04-27 01:01:01',
     966            )
     967        );
     968        $p2 = self::factory()->post->create(
     969            array(
     970                'post_date' => '2013-03-21 01:01:01',
     971            )
     972        );
    833973
    834974        register_taxonomy( 'foo', 'post' );
    835975        wp_set_object_terms( $p1, 'bar', 'foo' );
    836976
    837         $posts = $this->_get_query_result( array(
    838             'date_query' => array(
    839                 'year' => 2013,
    840             ),
    841             'tax_query' => array(
    842                 array(
    843                     'taxonomy' => 'foo',
    844                     'terms' => array( 'bar' ),
    845                     'field' => 'name',
    846                 ),
    847             ),
    848         ) );
     977        $posts = $this->_get_query_result(
     978            array(
     979                'date_query' => array(
     980                    'year' => 2013,
     981                ),
     982                'tax_query'  => array(
     983                    array(
     984                        'taxonomy' => 'foo',
     985                        'terms'    => array( 'bar' ),
     986                        'field'    => 'name',
     987                    ),
     988                ),
     989            )
     990        );
    849991
    850992        _unregister_taxonomy( 'foo' );
     
    857999     */
    8581000    public function test_date_query_one_nested_query() {
    859         $p1 = self::factory()->post->create( array( 'post_date' => '2004-10-01 13:42:29', ) );
    860         $p2 = self::factory()->post->create( array( 'post_date' => '2004-01-22 14:34:29', ) );
    861         $p3 = self::factory()->post->create( array( 'post_date' => '1984-10-15 14:34:29', ) );
    862         $p4 = self::factory()->post->create( array( 'post_date' => '1985-10-15 14:34:29', ) );
    863         $posts = $this->_get_query_result( array(
    864             'date_query' => array(
    865                 'relation' => 'OR',
    866                 array(
    867                     'relation' => 'AND',
    868                     array(
    869                         'year' => 2004,
    870                     ),
    871                     array(
    872                         'month' => 1,
    873                     ),
    874                 ),
    875                 array(
    876                     'year' => 1984,
    877                 ),
    878             ),
    879         ) );
     1001        $p1    = self::factory()->post->create( array( 'post_date' => '2004-10-01 13:42:29' ) );
     1002        $p2    = self::factory()->post->create( array( 'post_date' => '2004-01-22 14:34:29' ) );
     1003        $p3    = self::factory()->post->create( array( 'post_date' => '1984-10-15 14:34:29' ) );
     1004        $p4    = self::factory()->post->create( array( 'post_date' => '1985-10-15 14:34:29' ) );
     1005        $posts = $this->_get_query_result(
     1006            array(
     1007                'date_query' => array(
     1008                    'relation' => 'OR',
     1009                    array(
     1010                        'relation' => 'AND',
     1011                        array(
     1012                            'year' => 2004,
     1013                        ),
     1014                        array(
     1015                            'month' => 1,
     1016                        ),
     1017                    ),
     1018                    array(
     1019                        'year' => 1984,
     1020                    ),
     1021                ),
     1022            )
     1023        );
    8801024
    8811025        $this->assertEquals( array( $p2, $p3 ), wp_list_pluck( $posts, 'ID' ) );
     
    8861030     */
    8871031    public function test_date_query_one_nested_query_multiple_columns_relation_and() {
    888         $p1 = self::factory()->post->create( array(
    889             'post_date' => '2012-03-05 15:30:55',
    890         ) );
     1032        $p1 = self::factory()->post->create(
     1033            array(
     1034                'post_date' => '2012-03-05 15:30:55',
     1035            )
     1036        );
    8911037        $this->update_post_modified( $p1, '2014-11-03 14:43:00' );
    8921038
    893         $p2 = self::factory()->post->create( array(
    894             'post_date' => '2012-05-05 15:30:55',
    895         ) );
     1039        $p2 = self::factory()->post->create(
     1040            array(
     1041                'post_date' => '2012-05-05 15:30:55',
     1042            )
     1043        );
    8961044        $this->update_post_modified( $p2, '2014-10-03 14:43:00' );
    8971045
    898         $p3 = self::factory()->post->create( array(
    899             'post_date' => '2013-05-05 15:30:55',
    900         ) );
     1046        $p3 = self::factory()->post->create(
     1047            array(
     1048                'post_date' => '2013-05-05 15:30:55',
     1049            )
     1050        );
    9011051        $this->update_post_modified( $p3, '2014-10-03 14:43:00' );
    9021052
    903         $p4 = self::factory()->post->create( array(
    904             'post_date' => '2012-02-05 15:30:55',
    905         ) );
     1053        $p4 = self::factory()->post->create(
     1054            array(
     1055                'post_date' => '2012-02-05 15:30:55',
     1056            )
     1057        );
    9061058        $this->update_post_modified( $p4, '2012-12-03 14:43:00' );
    9071059
    908         $q = new WP_Query( array(
    909             'date_query' => array(
    910                 'relation' => 'AND',
    911                 array(
    912                     'column' => 'post_date',
    913                     array(
    914                         'year' => 2012,
    915                     ),
    916                 ),
    917                 array(
    918                     'column' => 'post_modified',
    919                     array(
    920                         'year' => 2014,
    921                     ),
    922                 ),
    923             ),
    924             'fields' => 'ids',
    925             'update_post_meta_cache' => false,
    926             'update_post_term_cache' => false,
    927             'post_status' => 'publish',
    928         ) );
    929 
    930         $expected = array( $p1, $p2, );
    931 
    932         $this->assertEqualSets( $expected, $q->posts );
    933     }
    934 
    935     /**
    936      * @ticket 29822
    937      */
    938     public function test_date_query_nested_query_multiple_columns_mixed_relations() {
    939         $p1 = self::factory()->post->create( array(
    940             'post_date' => '2012-03-05 15:30:55',
    941         ) );
    942         $this->update_post_modified( $p1, '2014-11-03 14:43:00' );
    943 
    944         $p2 = self::factory()->post->create( array(
    945             'post_date' => '2012-05-05 15:30:55',
    946         ) );
    947         $this->update_post_modified( $p2, '2014-10-03 14:43:00' );
    948 
    949         $p3 = self::factory()->post->create( array(
    950             'post_date' => '2013-05-05 15:30:55',
    951         ) );
    952         $this->update_post_modified( $p3, '2014-10-03 14:43:00' );
    953 
    954         $p4 = self::factory()->post->create( array(
    955             'post_date' => '2012-02-05 15:30:55',
    956         ) );
    957         $this->update_post_modified( $p4, '2012-12-03 14:43:00' );
    958 
    959         $p5 = self::factory()->post->create( array(
    960             'post_date' => '2014-02-05 15:30:55',
    961         ) );
    962         $this->update_post_modified( $p5, '2013-12-03 14:43:00' );
    963 
    964         $q = new WP_Query( array(
    965             'date_query' => array(
    966                 'relation' => 'OR',
    967                 array(
     1060        $q = new WP_Query(
     1061            array(
     1062                'date_query'             => array(
    9681063                    'relation' => 'AND',
    9691064                    array(
    9701065                        'column' => 'post_date',
    9711066                        array(
    972                             'day' => 05,
     1067                            'year' => 2012,
    9731068                        ),
    9741069                    ),
    9751070                    array(
    976                         'column' => 'post_date',
     1071                        'column' => 'post_modified',
    9771072                        array(
    978                             'before' => array(
    979                                 'year' => 2012,
    980                                 'month' => 4,
     1073                            'year' => 2014,
     1074                        ),
     1075                    ),
     1076                ),
     1077                'fields'                 => 'ids',
     1078                'update_post_meta_cache' => false,
     1079                'update_post_term_cache' => false,
     1080                'post_status'            => 'publish',
     1081            )
     1082        );
     1083
     1084        $expected = array( $p1, $p2 );
     1085
     1086        $this->assertEqualSets( $expected, $q->posts );
     1087    }
     1088
     1089    /**
     1090     * @ticket 29822
     1091     */
     1092    public function test_date_query_nested_query_multiple_columns_mixed_relations() {
     1093        $p1 = self::factory()->post->create(
     1094            array(
     1095                'post_date' => '2012-03-05 15:30:55',
     1096            )
     1097        );
     1098        $this->update_post_modified( $p1, '2014-11-03 14:43:00' );
     1099
     1100        $p2 = self::factory()->post->create(
     1101            array(
     1102                'post_date' => '2012-05-05 15:30:55',
     1103            )
     1104        );
     1105        $this->update_post_modified( $p2, '2014-10-03 14:43:00' );
     1106
     1107        $p3 = self::factory()->post->create(
     1108            array(
     1109                'post_date' => '2013-05-05 15:30:55',
     1110            )
     1111        );
     1112        $this->update_post_modified( $p3, '2014-10-03 14:43:00' );
     1113
     1114        $p4 = self::factory()->post->create(
     1115            array(
     1116                'post_date' => '2012-02-05 15:30:55',
     1117            )
     1118        );
     1119        $this->update_post_modified( $p4, '2012-12-03 14:43:00' );
     1120
     1121        $p5 = self::factory()->post->create(
     1122            array(
     1123                'post_date' => '2014-02-05 15:30:55',
     1124            )
     1125        );
     1126        $this->update_post_modified( $p5, '2013-12-03 14:43:00' );
     1127
     1128        $q = new WP_Query(
     1129            array(
     1130                'date_query'             => array(
     1131                    'relation' => 'OR',
     1132                    array(
     1133                        'relation' => 'AND',
     1134                        array(
     1135                            'column' => 'post_date',
     1136                            array(
     1137                                'day' => 05,
    9811138                            ),
    9821139                        ),
    983                     ),
    984                 ),
    985                 array(
    986                     'column' => 'post_modified',
    987                     array(
    988                         'month' => 12,
    989                     ),
    990                 ),
    991             ),
    992             'fields' => 'ids',
    993             'update_post_meta_cache' => false,
    994             'update_post_term_cache' => false,
    995             'post_status' => 'publish',
    996         ) );
    997 
    998         $expected = array( $p1, $p4, $p5, );
     1140                        array(
     1141                            'column' => 'post_date',
     1142                            array(
     1143                                'before' => array(
     1144                                    'year'  => 2012,
     1145                                    'month' => 4,
     1146                                ),
     1147                            ),
     1148                        ),
     1149                    ),
     1150                    array(
     1151                        'column' => 'post_modified',
     1152                        array(
     1153                            'month' => 12,
     1154                        ),
     1155                    ),
     1156                ),
     1157                'fields'                 => 'ids',
     1158                'update_post_meta_cache' => false,
     1159                'update_post_term_cache' => false,
     1160                'post_status'            => 'publish',
     1161            )
     1162        );
     1163
     1164        $expected = array( $p1, $p4, $p5 );
    9991165        $this->assertEqualSets( $expected, $q->posts );
    10001166    }
Note: See TracChangeset for help on using the changeset viewer.