/** * Test the available_item_types method. * * @see WP_Customize_Nav_Menus::available_item_types() */ function test_available_item_types() { $menus = new WP_Customize_Nav_Menus($this->wp_customize); $expected = array(array('title' => 'Posts', 'type' => 'post_type', 'object' => 'post', 'type_label' => __('Post')), array('title' => 'Pages', 'type' => 'post_type', 'object' => 'page', 'type_label' => __('Page')), array('title' => 'Categories', 'type' => 'taxonomy', 'object' => 'category', 'type_label' => __('Category')), array('title' => 'Tags', 'type' => 'taxonomy', 'object' => 'post_tag', 'type_label' => __('Tag'))); if (current_theme_supports('post-formats')) { $expected[] = array('title' => 'Format', 'type' => 'taxonomy', 'object' => 'post_format', 'type_label' => __('Format')); } $this->assertEquals($expected, $menus->available_item_types()); register_taxonomy('wptests_tax', array('post'), array('labels' => array('name' => 'Foo'))); $expected[] = array('title' => 'Foo', 'type' => 'taxonomy', 'object' => 'wptests_tax', 'type_label' => 'Foo'); $this->assertEquals($expected, $menus->available_item_types()); $expected[] = array('title' => 'Custom', 'type' => 'custom_type', 'object' => 'custom_object', 'type_label' => 'Custom Type'); add_filter('customize_nav_menu_available_item_types', array($this, 'filter_item_types')); $this->assertEquals($expected, $menus->available_item_types()); remove_filter('customize_nav_menu_available_item_types', array($this, 'filter_item_types')); }
/** * Test the available_item_types method. * * @see WP_Customize_Nav_Menus::available_item_types() */ function test_available_item_types() { $menus = new WP_Customize_Nav_Menus($this->wp_customize); $expected = array('postTypes' => array('post' => array('label' => 'Post'), 'page' => array('label' => 'Page')), 'taxonomies' => array('category' => array('label' => 'Category'), 'post_tag' => array('label' => 'Tag'))); if (current_theme_supports('post-formats')) { $expected['taxonomies']['post_format'] = array('label' => 'Format'); } $this->assertEquals($expected, $menus->available_item_types()); register_taxonomy('wptests_tax', array('post'), array('labels' => array('name' => 'Foo'))); $expected = array('postTypes' => array('post' => array('label' => 'Post'), 'page' => array('label' => 'Page')), 'taxonomies' => array('category' => array('label' => 'Category'), 'post_tag' => array('label' => 'Tag'), 'wptests_tax' => array('label' => 'Foo'))); if (current_theme_supports('post-formats')) { $wptests_tax = array_pop($expected['taxonomies']); $expected['taxonomies']['post_format'] = array('label' => 'Format'); $expected['taxonomies']['wptests_tax'] = $wptests_tax; } $this->assertEquals($expected, $menus->available_item_types()); }