Changeset 42343 for trunk/tests/phpunit/tests/query/dateQuery.php
- Timestamp:
- 11/30/2017 11:09:33 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/query/dateQuery.php
r40605 r42343 21 21 22 22 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 ); 31 33 32 34 return $this->q->query( $args ); … … 34 36 35 37 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 ); 51 55 52 56 $this->assertEqualSets( array( $p1, $p2 ), wp_list_pluck( $posts, 'ID' ) ); … … 58 62 */ 59 63 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 ); 72 78 73 79 $this->assertEqualSets( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 75 81 76 82 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 ); 89 97 90 98 $this->assertEquals( array( $p1, $p2 ), wp_list_pluck( $posts, 'ID' ) ); … … 92 100 93 101 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 ); 109 119 110 120 $this->assertEqualSets( array( $p3 ), wp_list_pluck( $posts, 'ID' ) ); … … 116 126 */ 117 127 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 ); 130 142 131 143 $this->assertEquals( array( $p2 ), wp_list_pluck( $posts, 'ID' ) ); … … 133 145 134 146 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 ); 146 160 147 161 $this->assertEquals( array( $p3 ), wp_list_pluck( $posts, 'ID' ) ); … … 149 163 150 164 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 ), 159 204 'inclusive' => true, 160 205 ), 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 ); 190 208 191 209 $this->assertEquals( array( $p2, $p3, $p4 ), wp_list_pluck( $posts, 'ID' ) ); … … 196 214 */ 197 215 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 ); 222 248 223 249 $this->assertEquals( array( $p2 ), $before_posts ); … … 229 255 */ 230 256 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 ); 257 291 258 292 $this->assertEqualSets( array( $p1, $p2 ), $before_posts ); … … 264 298 */ 265 299 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 ); 290 332 291 333 $this->assertEquals( array( $p2 ), $before_posts ); … … 297 339 */ 298 340 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 ); 325 375 326 376 $this->assertEqualSets( array( $p1, $p2 ), $before_posts ); … … 332 382 */ 333 383 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 ); 358 416 359 417 $this->assertEquals( array( $p2 ), $before_posts ); … … 365 423 */ 366 424 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 ); 393 459 394 460 $this->assertEqualSets( array( $p1, $p2 ), $before_posts ); … … 400 466 */ 401 467 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 ); 426 500 427 501 $this->assertEquals( array( $p2 ), $before_posts ); … … 433 507 */ 434 508 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 ); 461 543 462 544 $this->assertEqualSets( array( $p1, $p2 ), $before_posts ); … … 468 550 */ 469 551 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 ); 494 584 495 585 $this->assertEquals( array( $p2 ), $before_posts ); … … 501 591 */ 502 592 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 ); 529 627 530 628 $this->assertEqualSets( array( $p1, $p2 ), $before_posts ); … … 536 634 */ 537 635 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 ); 562 668 563 669 $this->assertEquals( array( $p1, $p2 ), $before_posts ); … … 565 671 566 672 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 ); 576 684 577 685 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 579 687 580 688 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 ); 590 700 591 701 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 593 703 594 704 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 ); 604 716 605 717 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 607 719 608 720 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 ); 619 733 620 734 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 622 736 623 737 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 ); 634 750 635 751 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 640 756 */ 641 757 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 ); 652 770 653 771 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 655 773 656 774 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 ); 667 787 668 788 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 673 793 */ 674 794 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 ); 685 807 686 808 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 688 810 689 811 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 ); 700 824 701 825 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 703 827 704 828 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 ); 715 841 716 842 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 718 844 719 845 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 ), 731 907 'compare' => '>=', 732 908 ), 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 ); 779 911 780 912 $this->assertEquals( array( $p2, $p3, $p4 ), wp_list_pluck( $posts, 'ID' ) ); … … 784 916 global $wpdb; 785 917 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 ); 796 930 797 931 $this->assertEquals( array( $p1 ), wp_list_pluck( $posts, 'ID' ) ); … … 804 938 global $wpdb; 805 939 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 ); 816 952 817 953 $this->assertEquals( array( $p2 ), wp_list_pluck( $posts, 'ID' ) ); … … 825 961 */ 826 962 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 ); 833 973 834 974 register_taxonomy( 'foo', 'post' ); 835 975 wp_set_object_terms( $p1, 'bar', 'foo' ); 836 976 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 ); 849 991 850 992 _unregister_taxonomy( 'foo' ); … … 857 999 */ 858 1000 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 ); 880 1024 881 1025 $this->assertEquals( array( $p2, $p3 ), wp_list_pluck( $posts, 'ID' ) ); … … 886 1030 */ 887 1031 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 ); 891 1037 $this->update_post_modified( $p1, '2014-11-03 14:43:00' ); 892 1038 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 ); 896 1044 $this->update_post_modified( $p2, '2014-10-03 14:43:00' ); 897 1045 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 ); 901 1051 $this->update_post_modified( $p3, '2014-10-03 14:43:00' ); 902 1052 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 ); 906 1058 $this->update_post_modified( $p4, '2012-12-03 14:43:00' ); 907 1059 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( 968 1063 'relation' => 'AND', 969 1064 array( 970 1065 'column' => 'post_date', 971 1066 array( 972 ' day' => 05,1067 'year' => 2012, 973 1068 ), 974 1069 ), 975 1070 array( 976 'column' => 'post_ date',1071 'column' => 'post_modified', 977 1072 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, 981 1138 ), 982 1139 ), 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 ); 999 1165 $this->assertEqualSets( $expected, $q->posts ); 1000 1166 }
Note: See TracChangeset
for help on using the changeset viewer.