public function map_parsed_field_contents_of_post_to_field_names($parsed_post_content) { $mapped_fields = array(); $field_mapping = array('_feedback_subject' => __('Contact Form', 'jetpack'), '_feedback_author' => '1_Name', '_feedback_author_email' => '2_Email', '_feedback_author_url' => '3_Website', '_feedback_main_comment' => '4_Comment'); foreach ($field_mapping as $parsed_field_name => $field_name) { if (isset($parsed_post_content[$parsed_field_name]) && !empty($parsed_post_content[$parsed_field_name])) { $mapped_fields[$field_name] = $parsed_post_content[$parsed_field_name]; } } return $mapped_fields; }
/** * Test map_parsed_field_contents_of_post_to_field_names * * @group csvexport */ public function test_map_parsed_field_contents_of_post_to_field_names() { $input_data = array('test_field' => 'moonstruck', '_feedback_subject' => 'This is my form', '_feedback_author_email' => '', '_feedback_author' => 'John Smith', '_feedback_author_url' => 'http://example.com', '_feedback_main_comment' => 'This is my comment!', 'another_field' => 'thunderstruck'); $plugin = new Grunion_Contact_Form_Plugin(); $result = $plugin->map_parsed_field_contents_of_post_to_field_names($input_data); $expected_result = array('Contact Form' => 'This is my form', '1_Name' => 'John Smith', '3_Website' => 'http://example.com', '4_Comment' => 'This is my comment!'); $this->assertEquals($expected_result, $result); }