Make WordPress Core


Ignore:
Timestamp:
08/29/2013 03:18:08 PM (13 years ago)
Author:
wonderboymusic
Message:

Support id=>name and id=>slug values for fields arg in get_terms(). Adds unit tests.

Props mikeschinkel.

Fixes #13661.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/tests/term/getTerms.php

    r25002 r25161  
    8888                $this->assertEquals( $term_id, $terms[0]->term_id );
    8989        }
     90
     91        /**
     92         * @ticket 13661
     93         */
     94        function test_get_terms_fields() {
     95                $term_id1 = $this->factory->tag->create( array( 'slug' => 'woo', 'name' => 'WOO!' ) );
     96                $term_id2 = $this->factory->tag->create( array( 'slug' => 'hoo', 'name' => 'HOO!', 'parent' => $term_id1 ) );
     97
     98                $terms_id_parent = get_terms( 'post_tag', array( 'hide_empty' => false, 'fields' => 'id=>parent' ) );
     99                $this->assertEquals( array(
     100                        $term_id1 => 0,
     101                        $term_id2 => $term_id1
     102                ), $terms_id_parent );
     103
     104                $terms_ids = get_terms( 'post_tag', array( 'hide_empty' => false, 'fields' => 'ids' ) );
     105                $this->assertEqualSets( array( $term_id1, $term_id2 ), $terms_ids );
     106
     107                $terms_name = get_terms( 'post_tag', array( 'hide_empty' => false, 'fields' => 'names' ) );
     108                $this->assertEqualSets( array( 'WOO!', 'HOO!' ), $terms_name );
     109
     110                $terms_id_name = get_terms( 'post_tag', array( 'hide_empty' => false, 'fields' => 'id=>name' ) );
     111                $this->assertEquals( array(
     112                        $term_id1 => 'WOO!',
     113                        $term_id2 => 'HOO!',
     114                ), $terms_id_name );
     115
     116                $terms_id_slug = get_terms( 'post_tag', array( 'hide_empty' => false, 'fields' => 'id=>slug' ) );
     117                $this->assertEquals( array(
     118                        $term_id1 => 'woo',
     119                        $term_id2 => 'hoo'
     120                ), $terms_id_slug );
     121        }
    90122}
Note: See TracChangeset for help on using the changeset viewer.