function setUp() { parent::setUp(); require_once ABSPATH . WPINC . '/class-wp-customize-manager.php'; add_theme_support('customize-selective-refresh-widgets'); $user_id = self::factory()->user->create(array('role' => 'administrator')); wp_set_current_user($user_id); $GLOBALS['wp_customize'] = new WP_Customize_Manager(); $this->manager = $GLOBALS['wp_customize']; unset($GLOBALS['_wp_sidebars_widgets']); // clear out cache set by wp_get_sidebars_widgets() $sidebars_widgets = wp_get_sidebars_widgets(); $this->assertEqualSets(array('wp_inactive_widgets', 'sidebar-1'), array_keys(wp_get_sidebars_widgets())); $this->assertContains('search-2', $sidebars_widgets['sidebar-1']); $this->assertContains('categories-2', $sidebars_widgets['sidebar-1']); $this->assertArrayHasKey(2, get_option('widget_search')); $widget_categories = get_option('widget_categories'); $this->assertArrayHasKey(2, $widget_categories); $this->assertEquals('', $widget_categories[2]['title']); // @todo We should not be including a theme anyway remove_action('after_setup_theme', 'twentyfifteen_setup'); remove_action('after_setup_theme', 'twentysixteen_setup'); remove_action('customize_register', 'twentysixteen_customize_register', 11); $this->backup_registered_sidebars = $GLOBALS['wp_registered_sidebars']; // Reset protected static var on class. WP_Customize_Setting::reset_aggregated_multidimensionals(); }
/** * Ensure that WP_Customize_Setting::value() can return a previewed value for aggregated multidimensionals. * * @ticket 37294 */ public function test_multidimensional_value_when_previewed() { WP_Customize_Setting::reset_aggregated_multidimensionals(); $initial_value = 456; set_theme_mod('nav_menu_locations', array('primary' => $initial_value)); $setting_id = 'nav_menu_locations[primary]'; $setting = new WP_Customize_Setting($this->manager, $setting_id); $this->assertEquals($initial_value, $setting->value()); $override_value = -123456; $this->manager->set_post_value($setting_id, $override_value); $setting->preview(); $this->assertEquals($override_value, $setting->value()); }