reset_aggregated_multidimensionals() public static method

This is intended only for use by unit tests.
Since: 4.5.0
Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
 /**
  * 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());
 }