WordPress.org

Make WordPress Core

Ticket #30306: 30306-unit-test.patch

File 30306-unit-test.patch, 1.7 KB (added by collinsinternet, 7 years ago)

Unit test of added functionality.

  • tests/phpunit/tests/category.php

     
    246246                $this->assertNull( get_category_by_path( 'nocat/nocat/', false) );
    247247        }
    248248
     249        /**
     250         * @ticket 30306
     251         * (https://core.trac.wordpress.org/ticket/30306)
     252         */
     253        function test_wp_dropdown_categories_option_value_return() {
     254                // Create a test category.
     255                $cat_id                          = $this->factory->category->create(
     256                array(
     257                        'name'   => 'Test Category',
     258                        'slug'   => 'test_category'
     259                )
     260                );
     261                // Get the default functionality of wp_dropdown_categories().
     262                $dropdown_default        = wp_dropdown_categories(
     263                array(
     264                        'echo'           => 0,
     265                        'hide_empty' => 0,
     266                )
     267                );
     268                // Test to see if it returns the default with the category ID.
     269                $this->assertContains( 'value="' . $cat_id . '"', $dropdown_default );
     270
     271                // Get the select dropdown with the 'value_field' set to 'slug'.
     272                $dropdown_with_slug = wp_dropdown_categories(
     273                array(
     274                        'echo'                   => 0,
     275                        'hide_empty'     => 0,
     276                        'value_field'    => 'slug'
     277                )
     278                );
     279                // Test to see if it properly returns the slug of the category you created.
     280                $this->assertContains( 'value="test_category"', $dropdown_with_slug );
     281
     282                // Get the select dropdown with the 'value_field' set to something not part of the $category object.
     283                $dropdown_with_odd_value = wp_dropdown_categories(
     284                array(
     285                        'echo'                   => 0,
     286                        'hide_empty'     => 0,
     287                        'value_field'    => 'banana'
     288                )
     289                );
     290
     291                // Test to see if it returns the default with the category ID when the 'value_field' is set to something not in the $category object.
     292                $this->assertContains( 'value="' . $cat_id . '"', $dropdown_default );
    249293}
     294
     295}
     296 No newline at end of file