public function test_editor_mode_conflicts() { $args = array('name' => 'test_richtextarea_1', 'default_value' => '<p>some <strong>html</strong> content</p>', 'editor_settings' => array('default_editor' => 'html')); $fm = new Fieldmanager_RichTextArea($args); ob_start(); $fm->add_meta_box('Test RichTextArea', 'post')->render_meta_box($this->post, array()); $html_1 = ob_get_clean(); $args['name'] = 'test_richtextarea_2'; $args['editor_settings']['default_editor'] = 'tinymce'; $fm = new Fieldmanager_RichTextArea($args); ob_start(); $fm->add_meta_box('Test RichTextArea', 'post')->render_meta_box($this->post, array()); $html_2 = ob_get_clean(); $args['name'] = 'test_richtextarea_3'; $args['editor_settings']['default_editor'] = 'html'; $fm = new Fieldmanager_RichTextArea($args); ob_start(); $fm->add_meta_box('Test RichTextArea', 'post')->render_meta_box($this->post, array()); $html_3 = ob_get_clean(); if (_fm_phpunit_is_wp_at_least(3.9)) { $this->assertContains('html-active', $html_1); $this->assertNotContains('tmce-active', $html_1); $this->assertContains('tmce-active', $html_2); $this->assertNotContains('html-active', $html_2); $this->assertContains('html-active', $html_3); $this->assertNotContains('tmce-active', $html_3); } else { $this->_skip_tests_because_version(3.9); } if (_fm_phpunit_is_wp_at_least(4.3)) { $this->assertContains(format_for_editor($args['default_value']), $html_1); $this->assertContains(format_for_editor($args['default_value']), $html_2); $this->assertContains(format_for_editor($args['default_value']), $html_3); } elseif (_fm_phpunit_is_wp_at_least(3.9)) { $this->assertContains(wp_htmledit_pre($args['default_value']), $html_1); $this->assertContains(wp_richedit_pre($args['default_value']), $html_2); $this->assertContains(wp_htmledit_pre($args['default_value']), $html_3); } else { $this->_skip_tests_because_version(3.9); } }
/** * @group serialize_data */ public function test_unserialize_data_mixed_depth() { if (!_fm_phpunit_is_wp_at_least(4.4)) { return $this->_skip_tests_because_version(4.4); } $base = new Fieldmanager_Group(array('name' => 'base_group', 'serialize_data' => false, 'children' => array('test_text' => new Fieldmanager_TextField(), 'test_group' => new Fieldmanager_Group(array('serialize_data' => false, 'children' => array('deep_text' => new Fieldmanager_TextArea())))))); $data = array('test_text' => rand_str(), 'test_group' => array('deep_text' => rand_str())); $html = $this->_get_html_for($base, $data); $this->assertEquals($data['test_text'], get_term_meta($this->term_id, 'base_group_test_text', true)); $this->assertEquals($data['test_group']['deep_text'], get_term_meta($this->term_id, 'base_group_test_group_deep_text', true)); $this->assertContains('name="base_group[test_text]"', $html); $this->assertContains('value="' . $data['test_text'] . '"', $html); $this->assertContains('name="base_group[test_group][deep_text]"', $html); $this->assertContains('>' . $data['test_group']['deep_text'] . '</textarea>', $html); }