You appear to be a bot. Output may be restricted
Description
Test preview method for updated menu.
Usage
Test_WP_Customize_Nav_Menu_Setting::test_preview_updated();
Parameters
Returns
void
Source
File name: wordpress-develop-tests/phpunit/tests/customize/nav-menu-setting.php
Lines:
1 to 62 of 62
public function test_preview_updated() { do_action( 'customize_register', $this->wp_customize ); $menu_id = wp_update_nav_menu_object( 0, wp_slash( array( 'menu-name' => 'Name 1 \\o/', 'description' => 'Description 1 \\o/', 'parent' => 0, ) ) ); $setting_id = "nav_menu[$menu_id]"; $setting = new WP_Customize_Nav_Menu_Setting( $this->wp_customize, $setting_id ); $nav_menu_options = $this->get_nav_menu_items_option(); $this->assertNotContains( $menu_id, $nav_menu_options['auto_add'] ); $post_value = array( 'name' => 'Name 2 \\o/', 'description' => 'Description 2 \\o/', 'parent' => 1, 'auto_add' => true, ); $this->wp_customize->set_post_value( $setting_id, $post_value ); $value = $setting->value(); $this->assertSame( 'Name 1 \\o/', $value['name'] ); $this->assertSame( 'Description 1 \\o/', $value['description'] ); $this->assertSame( 0, $value['parent'] ); $term = (array) wp_get_nav_menu_object( $menu_id ); $this->assertSameSets( wp_array_slice_assoc( $value, array( 'name', 'description', 'parent' ) ), wp_array_slice_assoc( $term, array( 'name', 'description', 'parent' ) ) ); $setting->preview(); $value = $setting->value(); $this->assertSame( 'Name 2 \\o/', $value['name'] ); $this->assertSame( 'Description 2 \\o/', $value['description'] ); $this->assertSame( 1, $value['parent'] ); $term = (array) wp_get_nav_menu_object( $menu_id ); $this->assertSameSets( $value, wp_array_slice_assoc( $term, array_keys( $value ) ) ); $menu_object = wp_get_nav_menu_object( $menu_id ); $this->assertEquals( (object) $term, $menu_object ); $this->assertSame( $post_value['name'], $menu_object->name ); $nav_menu_options = get_option( 'nav_menu_options', array( 'auto_add' => array() ) ); $this->assertContains( $menu_id, $nav_menu_options['auto_add'] ); $menus = wp_get_nav_menus(); $menus_ids = wp_list_pluck( $menus, 'term_id' ); $i = array_search( $menu_id, $menus_ids, true ); $this->assertIsInt( $i, 'Update-previewed menu does not appear in wp_get_nav_menus()' ); $filtered_menu = $menus[ $i ]; $this->assertSame( 'Name 2 \\o/', $filtered_menu->name ); }