WordPress.org

Make WordPress Core

Ticket #35156: 35156-test.patch

File 35156-test.patch, 4.4 KB (added by hnle, 4 years ago)
  • tests/phpunit/tests/category/wpListCategories.php

     
    307307
    308308                $this->assertNotContains( '<li class="cat-item cat-item-' . $child2 . '">', $actual );
    309309        }
     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
    310386}