/**
  * Get data from filters, after the theme has loaded and instantiate the importer.
  */
 public function setup_plugin_with_filter_data()
 {
     // Get info of import data files and filter it.
     $this->import_files = OCDI_Helpers::validate_import_file_info(apply_filters('pt-ocdi/import_files', array()));
     // Importer options array.
     $importer_options = apply_filters('pt-ocdi/importer_options', array('fetch_attachments' => true));
     // Logger options for the logger used in the importer.
     $logger_options = apply_filters('pt-ocdi/logger_options', array('logger_min_level' => 'warning'));
     // Configure logger instance and set it to the importer.
     $this->logger = new OCDI_Logger();
     $this->logger->min_level = $logger_options['logger_min_level'];
     // Create importer instance with proper parameters.
     $this->importer = new OCDI_Importer($importer_options, $this->logger);
 }
 function test_helper_validate_import_file_info()
 {
     // Test empty array input
     $import_files = array();
     $expected_output = array();
     $this->assertEquals($expected_output, OCDI_Helpers::validate_import_file_info($import_files));
     // Test valid array
     $import_files = array(array('import_file_name' => 'Demo Import 1', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/widgets.json'), array('import_file_name' => 'Demo Import 2', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content2.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/widgets2.json'));
     $expected_output = array(array('import_file_name' => 'Demo Import 1', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/widgets.json'), array('import_file_name' => 'Demo Import 2', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content2.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/widgets2.json'));
     $this->assertEquals($expected_output, OCDI_Helpers::validate_import_file_info($import_files));
     // Test valid array with one invalid item
     $import_files = array(array('import_file_name' => 'Demo Import 1', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/widgets.json'), array('import_file_title' => 'Invalid Demo import', 'import_file_link' => 'http://www.your_domain.com/ocdi/invalid-demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/invalid-widgets.json'), array('import_file_name' => 'Demo Import 2', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content2.xml'));
     $expected_output = array(array('import_file_name' => 'Demo Import 1', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/widgets.json'), array('import_file_name' => 'Demo Import 2', 'import_file_url' => 'http://www.your_domain.com/ocdi/demo-content2.xml'));
     $this->assertEquals($expected_output, OCDI_Helpers::validate_import_file_info($import_files));
     // Test invalid array
     $import_files = array(array('import_file_title' => 'Invalid Demo import', 'import_file_link' => 'http://www.your_domain.com/ocdi/invalid-demo-content.xml', 'import_widget_file_url' => 'http://www.your_domain.com/ocdi/invalid-widgets.json'), array('import_file_title' => 'Invalid Demo import', 'import_file_url' => 'http://www.your_domain.com/ocdi/invalid-demo-content.xml'), array('import_file_name' => 'Invalid Demo import', 'import_file_link' => 'http://www.your_domain.com/ocdi/invalid-demo-content.xml'));
     $expected_output = array();
     $this->assertEquals($expected_output, OCDI_Helpers::validate_import_file_info($import_files));
 }