You appear to be a bot. Output may be restricted
Description
Test preview method for updated menu.
Usage
Test_WP_Customize_Nav_Menu_Item_Setting::test_preview_updated();
Parameters
Returns
void
Source
File name: wordpress-develop-tests/phpunit/tests/customize/nav-menu-item-setting.php
Lines:
1 to 50 of 50
public function test_preview_updated() { do_action( 'customize_register', $this->wp_customize ); $first_post_id = self::factory()->post->create( array( 'post_title' => 'Hello World' ) ); $second_post_id = self::factory()->post->create( array( 'post_title' => 'Hola Muno' ) ); $primary_menu_id = wp_create_nav_menu( 'Primary' ); $secondary_menu_id = wp_create_nav_menu( 'Secondary' ); $item_title = 'Greetings'; $item_id = wp_update_nav_menu_item( $primary_menu_id, 0, array( 'menu-item-type' => 'post_type', 'menu-item-object' => 'post', 'menu-item-object-id' => $first_post_id, 'menu-item-title' => $item_title, 'menu-item-status' => 'publish', ) ); $this->assertNotEmpty( wp_get_nav_menu_items( $primary_menu_id, array( 'post_status' => 'publish,draft' ) ) ); $post_value = array( 'type' => 'post_type', 'object' => 'post', 'object_id' => $second_post_id, 'title' => 'Saludos', 'status' => 'publish', 'nav_menu_term_id' => $secondary_menu_id, ); $setting_id = "nav_menu_item[$item_id]"; $setting = new WP_Customize_Nav_Menu_Item_Setting( $this->wp_customize, $setting_id ); $this->wp_customize->set_post_value( $setting_id, $post_value ); unset( $post_value['nav_menu_term_id'] ); $setting->preview(); // Make sure the menu item appears in the new menu. $this->assertNotContains( $item_id, wp_list_pluck( wp_get_nav_menu_items( $primary_menu_id ), 'db_id' ) ); $menu_items = wp_get_nav_menu_items( $secondary_menu_id ); $db_ids = wp_list_pluck( $menu_items, 'db_id' ); $this->assertContains( $item_id, $db_ids ); $i = array_search( $item_id, $db_ids, true ); $updated_item = $menu_items[ $i ]; $post_value['post_status'] = $post_value['status']; unset( $post_value['status'] ); foreach ( $post_value as $key => $value ) { $this->assertSame( $value, $updated_item->$key, "Key $key mismatch" ); } }