| | 310 | |
| | 311 | /** |
| | 312 | * @ticket 35156 |
| | 313 | */ |
| | 314 | public function test_exclude_tree_multi_separateed_by_comma_should_be_merged_with_exclude() { |
| | 315 | $c = self::factory()->category->create(); |
| | 316 | $parent = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent' ) ); |
| | 317 | $child = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child', 'parent' => $parent ) ); |
| | 318 | $parent2 = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent2' ) ); |
| | 319 | $child2 = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child2', 'parent' => $parent2 ) ); |
| | 320 | $parent3 = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent3' ) ); |
| | 321 | $child3 = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child3', 'parent' => $parent3 ) ); |
| | 322 | $parent4 = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent4' ) ); |
| | 323 | $child4 = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child4', 'parent' => $parent4 ) ); |
| | 324 | |
| | 325 | |
| | 326 | $args = array( 'echo' => 0, 'hide_empty' => 0, 'exclude_tree' => $parent ); |
| | 327 | |
| | 328 | $actual = wp_list_categories( array( |
| | 329 | 'echo' => 0, |
| | 330 | 'hide_empty' => 0, |
| | 331 | 'exclude' => "$parent,$parent2", |
| | 332 | 'exclude_tree' => "$parent3,$parent4", |
| | 333 | ) ); |
| | 334 | |
| | 335 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent . '">', $actual ); |
| | 336 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent2 . '">', $actual ); |
| | 337 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child . '">', $actual ); |
| | 338 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child2 . '">', $actual ); |
| | 339 | |
| | 340 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent3 . '">', $actual ); |
| | 341 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent4 . '">', $actual ); |
| | 342 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child3 . '">', $actual ); |
| | 343 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child4 . '">', $actual ); |
| | 344 | |
| | 345 | |
| | 346 | } |
| | 347 | |
| | 348 | |
| | 349 | /** |
| | 350 | * @ticket 35156 |
| | 351 | */ |
| | 352 | public function test_exclude_tree_multi_by_array_should_be_merged_with_exclude() { |
| | 353 | $c = self::factory()->category->create(); |
| | 354 | $parent = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent' ) ); |
| | 355 | $child = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child', 'parent' => $parent ) ); |
| | 356 | $parent2 = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent2' ) ); |
| | 357 | $child2 = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child2', 'parent' => $parent2 ) ); |
| | 358 | $parent3 = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent3' ) ); |
| | 359 | $child3 = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child3', 'parent' => $parent3 ) ); |
| | 360 | $parent4 = self::factory()->category->create( array( 'name' => 'Parent', 'slug' => 'parent4' ) ); |
| | 361 | $child4 = self::factory()->category->create( array( 'name' => 'Child', 'slug' => 'child4', 'parent' => $parent4 ) ); |
| | 362 | |
| | 363 | |
| | 364 | $args = array( 'echo' => 0, 'hide_empty' => 0, 'exclude_tree' => $parent ); |
| | 365 | |
| | 366 | $actual = wp_list_categories( array( |
| | 367 | 'echo' => 0, |
| | 368 | 'hide_empty' => 0, |
| | 369 | 'exclude' => array( $parent, $parent2 ), |
| | 370 | 'exclude_tree' => array( $parent3, $parent4 ), |
| | 371 | ) ); |
| | 372 | |
| | 373 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent . '">', $actual ); |
| | 374 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent2 . '">', $actual ); |
| | 375 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child . '">', $actual ); |
| | 376 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child2 . '">', $actual ); |
| | 377 | |
| | 378 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent3 . '">', $actual ); |
| | 379 | $this->assertNotContains( '<li class="cat-item cat-item-' . $parent4 . '">', $actual ); |
| | 380 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child3 . '">', $actual ); |
| | 381 | $this->assertNotContains( '<li class="cat-item cat-item-' . $child4 . '">', $actual ); |
| | 382 | |
| | 383 | |
| | 384 | } |
| | 385 | |