WordPress.org

Make WordPress Core

Changeset 1085 in tests


Ignore:
Timestamp:
10/17/12 18:54:24 (18 months ago)
Author:
ryan
Message:

Tests for post tax_query include_children

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/post/query.php

    r1083 r1085  
    410410    $this->assertEquals( array(), array_diff( array( $post_id, $post_id3, $post_id4, $post_id5, $post_id6 ), $posts ) ); 
    411411    } 
     412 
     413    function test_taxonomy_include_children() { 
     414        $cat_a = $this->factory->term->create( array( 'taxonomy' => 'category', 'name' => 'Australia' ) ); 
     415        $cat_b = $this->factory->term->create( array( 'taxonomy' => 'category', 'name' => 'Sydney', 'parent' => $cat_a ) ); 
     416        $cat_c = $this->factory->term->create( array( 'taxonomy' => 'category', 'name' => 'East Syndney', 'parent' => $cat_b ) ); 
     417        $cat_d = $this->factory->term->create( array( 'taxonomy' => 'category', 'name' => 'West Syndney', 'parent' => $cat_b ) ); 
     418 
     419        $post_a = $this->factory->post->create( array( 'post_category' => array( $cat_a ) ) ); 
     420        $post_b = $this->factory->post->create( array( 'post_category' => array( $cat_b ) ) ); 
     421        $post_c = $this->factory->post->create( array( 'post_category' => array( $cat_c ) ) ); 
     422        $post_d = $this->factory->post->create( array( 'post_category' => array( $cat_d ) ) ); 
     423 
     424        $posts = get_posts( array( 
     425            'tax_query' => array( 
     426                array( 
     427                    'taxonomy' => 'category', 
     428                    'field' => 'id', 
     429                    'terms' => array( $cat_a ), 
     430                ) 
     431            )    
     432        ) ); 
     433 
     434        $this->assertEquals( 4 , count( $posts ) ); 
     435 
     436        $posts = get_posts( array( 
     437            'tax_query' => array( 
     438                array( 
     439                    'taxonomy' => 'category', 
     440                    'field' => 'id', 
     441                    'terms' => array( $cat_a ), 
     442                    'include_children' => false 
     443                ) 
     444            )    
     445        ) ); 
     446 
     447        $this->assertEquals( 1 , count( $posts ) ); 
     448 
     449        $posts = get_posts( array( 
     450            'tax_query' => array( 
     451                array( 
     452                    'taxonomy' => 'category', 
     453                    'field' => 'id', 
     454                    'terms' => array( $cat_b ), 
     455                ) 
     456            )    
     457        ) ); 
     458 
     459        $this->assertEquals( 3 , count( $posts ) ); 
     460 
     461        $posts = get_posts( array( 
     462            'tax_query' => array( 
     463                array( 
     464                    'taxonomy' => 'category', 
     465                    'field' => 'id', 
     466                    'terms' => array( $cat_b ), 
     467                    'include_children' => false 
     468                ) 
     469            )    
     470        ) ); 
     471 
     472        $this->assertEquals( 1 , count( $posts ) ); 
     473 
     474        $posts = get_posts( array( 
     475            'tax_query' => array( 
     476                array( 
     477                    'taxonomy' => 'category', 
     478                    'field' => 'id', 
     479                    'terms' => array( $cat_c ), 
     480                ) 
     481            )    
     482        ) ); 
     483 
     484        $this->assertEquals( 1 , count( $posts ) ); 
     485 
     486        $posts = get_posts( array( 
     487            'tax_query' => array( 
     488                array( 
     489                    'taxonomy' => 'category', 
     490                    'field' => 'id', 
     491                    'terms' => array( $cat_c ), 
     492                    'include_children' => false 
     493                ) 
     494            )    
     495        ) ); 
     496 
     497        $this->assertEquals( 1 , count( $posts ) ); 
     498    } 
    412499} 
Note: See TracChangeset for help on using the changeset viewer.