/**
  * @dataProvider providerTestUpdateComicPressOptions
  */
 function testUpdateComicPressOptions($info, $expected_comicpress_options)
 {
     $comicpress = ComicPress::get_instance(true);
     $comicpress->comicpress_options = array();
     ComicPressBackendFilesystemAdmin::handle_update_comicpress_options($info);
     $this->assertEquals($expected_comicpress_options, $comicpress->comicpress_options);
     $comicpress = ComicPress::get_instance(true);
 }
 /**
  * @dataProvider providerTestUpdatePostUrls
  */
 function testUpdatePostUrls($urls, $expected_urls)
 {
     $comicpress = ComicPress::get_instance(true);
     $comicpress->comicpress_options['image_types'] = array('comic' => array('default' => true), 'rss' => array('default' => false));
     wp_insert_post((object) array('ID' => 1));
     ComicPressBackendURL::update_post_urls(1, $urls);
     $this->assertEquals($expected_urls, get_post_meta(1, 'backend_url_image_urls', true));
 }
function __comicpress_init()
{
    global $core;
    $classes_search = array('/classes/', '/classes/backends/');
    foreach ($classes_search as $path) {
        foreach (glob(dirname(__FILE__) . $path . '*.inc') as $file) {
            if (is_file($file)) {
                require_once $file;
            }
        }
    }
    $comicpress = ComicPress::get_instance();
    $comicpress->init();
    $comicpress_admin = new ComicPressAdmin();
    $comicpress_admin->init();
    $comicpress_admin->handle_update();
    if (!is_admin()) {
        $core = new ComicPressTagBuilderFactory();
    }
}
 function testGetURLPattern()
 {
     $comicpress = ComicPress::get_instance(true);
     $comicpress->comicpress_options = array('backend_options' => array('filesystem' => array('url_pattern' => 'pattern')));
     $this->assertEquals('pattern', $this->fa->_get_url_pattern());
 }
function __comicpress_init()
{
    global $comicpress, $wp_query;
    if (current_user_can('edit_files')) {
        wp_cache_flush();
    }
    foreach (glob(dirname(__FILE__) . '/classes/*.inc') as $file) {
        if (is_file($file)) {
            require_once $file;
        }
    }
    $comicpress = ComicPress::get_instance();
    $comicpress->init();
    $addons = array();
    if (is_dir($addons_dir = dirname(__FILE__) . '/addons')) {
        $entries = glob($addons_dir . '/*');
        if (is_array($entries)) {
            foreach ($entries as $entry) {
                if (is_dir($entry)) {
                    $classname = basename($entry);
                    if (file_exists($entry . "/{$classname}.inc")) {
                        require_once $entry . "/{$classname}.inc";
                        $classname = "ComicPressAddon{$classname}";
                        if (class_exists($classname)) {
                            $addon =& new $classname();
                            if ($comicpress->comicpress_options['addons'][$addon->name] || $addon->is_addon_manager) {
                                $addon->init();
                                if (current_user_can('edit_posts')) {
                                    if (is_array($_REQUEST['cp'])) {
                                        if (isset($_REQUEST['cp']['_nonce'])) {
                                            if (wp_verify_nonce($_REQUEST['cp']['_nonce'], 'comicpress')) {
                                                if (method_exists($addon, 'handle_update')) {
                                                    $addon->handle_update($_REQUEST['cp']);
                                                    $comicpress->load();
                                                }
                                            }
                                        }
                                    }
                                    if (is_admin()) {
                                        add_action('admin_notices', array(&$addon, 'display_messages'));
                                    } else {
                                        add_action('wp_head', array(&$addon, 'display_messages'));
                                    }
                                }
                            }
                            $addons[] = $addon;
                        }
                    }
                }
            }
        }
    }
    foreach ($addons as $addon) {
        if ($addon->is_addon_manager) {
            $addon->all_addons =& $addons;
            break;
        }
    }
    $layouts = $comicpress->get_layout_choices();
    if (isset($layouts[$comicpress->comicpress_options['layout']])) {
        if (isset($layouts[$comicpress->comicpress_options['layout']]['Sidebars'])) {
            foreach (explode(",", $layouts[$comicpress->comicpress_options['layout']]['Sidebars']) as $sidebar) {
                $sidebar = trim($sidebar);
                register_sidebar($sidebar);
            }
        }
    }
}
 /**
  * @dataProvider providerTestEnsureType
  */
 function testEnsureType($provided, $expected)
 {
     $comicpress = ComicPress::get_instance();
     $comicpress->comicpress_options = array('image_types' => array('comic' => array('default' => true), 'rss' => array('default' => false)));
     $this->assertEquals($expected, ComicPressBackend::ensure_type($provided));
 }
 function testGetInstanceObjectOverride()
 {
     $this->assertEquals((object) array(), ComicPress::get_instance((object) array()));
 }
 /**
  * @dataProvider providerTestNormalizeCategoryGroupings
  */
 function testNormalizeCategoryGroupings($grouping, $valid_categories, $expected_grouping)
 {
     $comicpress = ComicPress::get_instance();
     if (!is_null($grouping)) {
         $comicpress->comicpress_options['category_groupings'] = $grouping;
     } else {
         unset($comicpress->comicpress_options['category_groupings']);
     }
     foreach ($valid_categories as $category_id) {
         add_category($category_id, (object) array('slug' => "test-{$category_id}"));
     }
     $this->css->normalize_category_groupings();
     $this->assertEquals($expected_grouping, $comicpress->comicpress_options['category_groupings']);
 }
 function testGetAttachmentsStringProvided()
 {
     $cp = ComicPress::get_instance(true);
     $m = $this->getMock('TestFactory', array('generate_from_post'));
     $cp->backends = array(get_class($m));
     $this->p->get_attachments();
 }
 /**
  * @dataProvider providerTestComicPressMediaWrapper
  */
 function testComicPressMediaWrapper($arguments, $expected_return, $is_total_fail = false)
 {
     $backend = $this->getMock('ComicPressMockBackendFactory', array('embed', 'generate_from_id'));
     $backend->expects($this->any())->method('generate_from_id')->will($this->returnCallback(function ($id) use($backend) {
         if (in_array($id, array('comic-id-1', 'default-id-1', 'comic-id-2', 'default-id-2'))) {
             $backend->_id = $id;
             return $backend;
         } else {
             return false;
         }
     }));
     $backend->expects($this->any())->method('embed')->will($this->returnCallback(function ($which) use($backend) {
         switch ($which) {
             case 'comic':
             case 'default':
                 return $backend->_id;
                 break;
             default:
                 return false;
         }
     }));
     $comicpress = ComicPress::get_instance(true);
     $comicpress->backends = array($backend);
     $media = new ComicPressMediaWrapper(array(array('comic' => $is_total_fail ? 'total-fail' : 'comic-id-1', 'default' => 'default-id-1'), array('comic' => 'comic-id-2', 'default' => 'default-id-2')));
     $this->assertEquals($expected_return, call_user_func_array(array($media, 'embed'), $arguments));
     $comicpress = ComicPress::get_instance(true);
 }
 /**
  * @dataProvider providerTestDims
  */
 function testDims($which, $image_options, $expected_result)
 {
     $comicpress = ComicPress::get_instance();
     $comicpress->comicpress_options = array('image_types' => array('comic' => $image_options));
     $this->assertEquals($expected_result, $this->ba->dims($which));
 }