/** * @ticket 37128 */ function test_prepare_controls_wp_list_sort_panels() { wp_set_current_user(self::$admin_user_id); $panels = array('foo' => 2, 'bar' => 4, 'foobar' => 3, 'key' => 1); $panels_sorted = array('key', 'foo', 'foobar', 'bar'); foreach ($panels as $panel_id => $priority) { $this->manager->add_panel($panel_id, array('priority' => $priority)); } $this->manager->prepare_controls(); $result = $this->manager->panels(); $this->assertEquals($panels_sorted, array_keys($result)); }
/** * Test customize_pane_settings() method. * * @see WP_Customize_Manager::customize_pane_settings() */ function test_customize_pane_settings() { wp_set_current_user($this->factory->user->create(array('role' => 'administrator'))); $this->manager->register_controls(); $this->manager->prepare_controls(); $autofocus = array('control' => 'blogname'); $this->manager->set_autofocus($autofocus); ob_start(); $this->manager->customize_pane_settings(); $content = ob_get_clean(); $this->assertContains('var _wpCustomizeSettings =', $content); $this->assertContains('"blogname"', $content); $this->assertContains('_wpCustomizeSettings.controls', $content); $this->assertContains('_wpCustomizeSettings.settings', $content); $this->assertContains('</script>', $content); $this->assertNotEmpty(preg_match('#var _wpCustomizeSettings\\s*=\\s*({.*?});\\s*\\n#', $content, $matches)); $json = $matches[1]; $data = json_decode($json, true); $this->assertNotEmpty($data); $this->assertEqualSets(array('theme', 'url', 'browser', 'panels', 'sections', 'nonce', 'autofocus', 'documentTitleTmpl'), array_keys($data)); $this->assertEquals($autofocus, $data['autofocus']); $this->assertArrayHasKey('save', $data['nonce']); $this->assertArrayHasKey('preview', $data['nonce']); }
/** * @ticket 30225 * @ticket 34594 */ function test_prepare_controls_stable_sorting() { $manager = new WP_Customize_Manager(); $manager->register_controls(); $section_id = 'foo-section'; wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); $manager->add_section( $section_id, array( 'title' => 'Section', 'priority' => 1, ) ); $added_control_ids = array(); $count = 9; for ( $i = 0; $i < $count; $i += 1 ) { $id = 'sort-test-' . $i; $added_control_ids[] = $id; $manager->add_setting( $id ); $control = new WP_Customize_Control( $manager, $id, array( 'section' => $section_id, 'priority' => 1, 'setting' => $id, ) ); $manager->add_control( $control ); } $manager->prepare_controls(); $sorted_control_ids = wp_list_pluck( $manager->get_section( $section_id )->controls, 'id' ); $this->assertEquals( $added_control_ids, $sorted_control_ids ); }