WordPress.org

Make WordPress Core

Ticket #20929: 20929-unit-test.patch

File 20929-unit-test.patch, 1.7 KB (added by kurtpayne, 6 years ago)

First pass unit test

  • wp-testcase/test_includes_taxonomy.php

     
    7878                // clean up
    7979                unset($GLOBALS['wp_taxonomies'][$tax]);
    8080        }
     81       
     82        function test_get_taxonomies() {
     83                $this->knownWPBug( 20929 );
    8184
     85                // make up a new taxonomy name, and ensure it's unused
     86                $tax = rand_str();
     87                $this->assertFalse( taxonomy_exists( $tax . '_taxonomy' ) );
     88
     89                // Register the new taxonomy
     90                $args = array( $tax . '_taxonomy' => true, 'hierarchical' => 0, 'rewrite' => array( 'slug' ), );
     91                register_taxonomy( $tax . '_taxonomy', array( $tax . '_post_type' ), $args );
     92                $this->assertTrue( taxonomy_exists( $tax . '_taxonomy' ) );
     93               
     94                // Get the taxonomy using the name as the key
     95                // If ticket 20929 isn't fixed, this will produce a notice
     96                // If you're not running with -d, force notices on
     97                if ( !defined( 'WP_DEBUG' ) || !WP_DEBUG ) {
     98                        $err = error_reporting();
     99                        error_reporting( $err | E_NOTICE );
     100                }
     101                $new_tax = get_taxonomies( array( $tax . '_taxonomy' => true ) );
     102                if ( !defined( 'WP_DEBUG' ) || !WP_DEBUG ) {
     103                        error_reporting( $err );
     104                }
     105
     106                // Get back exactly 1 match
     107                $this->assertEquals( 1, count( $new_tax ) );
     108               
     109                // Key and val should match the random tax name
     110                list($key, $val) = each( $new_tax );
     111                $this->assertEquals( $tax . '_taxonomy', $key );
     112                $this->assertEquals( $tax . '_taxonomy', $val );
     113
     114                // clean up
     115                unset( $GLOBALS['wp_taxonomies'][$tax . '_taxnomy'] );
     116        }
     117
    82118        function test_register_hierarchical_taxonomy() {
    83119
    84120                // make up a new taxonomy name, and ensure it's unused