get code coverage up to 100%

This commit is contained in:
John Bintz 2009-11-19 07:07:04 -05:00
parent 39a88d8a60
commit 064ef863e1
5 changed files with 102 additions and 24 deletions

View File

@ -19,6 +19,7 @@ foreach (array(
// Global template functions for ComicPress
// @codeCoverageIgnoreStart
function F($name, $path, $override_post = null) {
global $post;
@ -27,6 +28,7 @@ function F($name, $path, $override_post = null) {
$comicpress = ComicPress::get_instance();
return $comicpress->find_file($name, $path, $comic_post->find_parents());
}
// @codeCoverageIgnoreEnd
/**
* Protect global $post and $wp_query.
@ -139,6 +141,8 @@ function RT($which, $restrictions = null, $override_post = null) {
return $post;
}
// @codeCoverageIgnoreEnd
function RL($restrictions = null, $override_post = null) {
global $post;
$post_to_use = !is_null($override_post) ? $override_post : $post;
@ -150,17 +154,17 @@ function RL($restrictions = null, $override_post = null) {
return $storyline->build_from_restrictions($restrictions);
}
// @codeCoverageIgnoreEnd
function In_R($restrictions = null, $override_post = null) {
global $post;
$post_to_use = !is_null($override_post) ? $override_post : $post;
$post_categories = wp_get_post_categories($post_to_use->ID);
if (is_array($post_categories)) {
$category_id = reset($post_categories);
if (is_numeric($category_id)) {
return in_array($category_id, RL($restrictions, $post_to_use));
if (count($post_categories) == 1) {
$category_id = reset($post_categories);
if (is_numeric($category_id)) {
return in_array($category_id, RL($restrictions, $post_to_use));
}
}
}
@ -226,10 +230,13 @@ function SC($which = 'current', $relative_to = null) {
}
if ($result !== false) {
$category = get_category($result);
// sanity check
// @codeCoverageIgnoreStart
if (!empty($category)) {
return $category;
}
}
// @codeCoverageIgnoreEnd
}
return false;

View File

@ -231,6 +231,40 @@ class ComicPressAdminTest extends PHPUnit_Framework_TestCase {
}
}
function testHandleUpdateCallAttachments() {
$admin = $this->getMock('ComicPressAdmin', array('handle_update_attachments', 'handle_update_test'));
$admin->expects($this->once())->method('handle_update_attachments');
$admin->expects($this->never())->method('handle_update_test');
$_REQUEST = array(
'cp' => array(
'_nonce' => wp_create_nonce('comicpress')
)
);
$_POST = array('attachments' => 'test');
$admin->handle_update();
}
function testHandleUpdateCallMethod() {
$admin = $this->getMock('ComicPressAdmin', array('handle_update_attachments', 'handle_update_test_method'));
$admin->expects($this->never())->method('handle_update_attachments');
$admin->expects($this->once())->method('handle_update_test_method');
$_REQUEST = array(
'cp' => array(
'_nonce' => wp_create_nonce('comicpress'),
'action' => 'test-method',
'_action_nonce' => wp_create_nonce('comicpress-test-method')
)
);
$admin->handle_update();
}
function providerTestUpdateZoomSliderMeta() {
return array(
array(false),

View File

@ -5,6 +5,10 @@ require_once('MockPress/mockpress.php');
require_once('ComicPressBackend.inc');
class ComicPressBackendTest extends PHPUnit_Framework_TestCase {
function setUp() {
_reset_wp();
}
function providerTestEmbedImage() {
return array(
array(

View File

@ -48,7 +48,17 @@ class FunctionsTest extends PHPUnit_Framework_TestCase {
), get_post_meta($post_to_test->ID, 'image-ordering', true));
}
function testProtect() {
function providerTestProtect() {
return array(
array(null, 'test'),
array('test3', 'test3')
);
}
/**
* @dataProvider providerTestProtect
*/
function testProtect($post_to_use, $expected_post) {
global $post, $wp_query, $__post, $__wp_query;
$__post = null;
@ -57,9 +67,10 @@ class FunctionsTest extends PHPUnit_Framework_TestCase {
$post = "test";
$wp_query = "test2";
Protect();
Protect($post_to_use);
$this->assertEquals($post, $__post);
$this->assertEquals($__post, 'test');
$this->assertEquals($expected_post, $post);
$this->assertEquals($wp_query, $__wp_query);
}
@ -224,7 +235,27 @@ class FunctionsTest extends PHPUnit_Framework_TestCase {
}
}
function testIs_R() {
$this->markTestIncomplete();
function providerTestIn_R() {
return array(
array(array(1), true),
array(array(5), false),
array(array(1,5), false),
array(array('test'), false)
);
}
/**
* @dataProvider providerTestIn_R
*/
function testIn_R($categories, $expected_result) {
global $post;
$post = (object)array('ID' => 1);
wp_set_post_categories(1, $categories);
$s = new ComicPressStoryline();
$s->set_flattened_storyline('0/1,0/2,0/2/3,0/2/4');
$this->assertEquals($expected_result, In_R());
}
}

View File

@ -45,17 +45,18 @@ class ComicPressBackendAttachmentTest extends PHPUnit_Framework_TestCase {
function providerTestDims() {
return array(
array(false, array()),
array(true, array()),
array(array(), array()),
array(array('dimensions' => '300x200'), array('width' => 300, 'height' => 200))
);
array('comic', false, array()),
array('comic', true, array()),
array('comic', array(), array()),
array('comic', array('dimensions' => '300x200'), array('width' => 300, 'height' => 200)),
array('default', array('dimensions' => '300x200', 'default' => true), array('width' => 300, 'height' => 200))
);
}
/**
* @dataProvider providerTestDims
*/
function testDims($image_options, $expected_result) {
function testDims($which, $image_options, $expected_result) {
$comicpress = ComicPress::get_instance();
$comicpress->comicpress_options = array(
'image_types' => array(
@ -63,7 +64,7 @@ class ComicPressBackendAttachmentTest extends PHPUnit_Framework_TestCase {
)
);
$this->assertEquals($expected_result, $this->ba->dims('comic'));
$this->assertEquals($expected_result, $this->ba->dims($which));
}
function providerTestUrl() {
@ -85,22 +86,23 @@ class ComicPressBackendAttachmentTest extends PHPUnit_Framework_TestCase {
function providerTestGenerateFromID() {
return array(
array(null, false),
array(1, false),
array('attachment-1', true),
array('attachment-2', false),
array('attachment-3', false),
array(null, false, false),
array(1, false, false),
array('attachment-1', true, true),
array('attachment-1', false, false),
array('attachment-2', false, false),
array('attachment-3', false, false),
);
}
/**
* @dataProvider providerTestGenerateFromID
*/
function testGenerateFromID($id, $is_successful) {
function testGenerateFromID($id, $is_managed, $is_successful) {
wp_insert_post(array('ID' => 1));
wp_insert_post(array('ID' => 3));
update_post_meta(1, 'comicpress', array('managed' => true));
update_post_meta(1, 'comicpress', array('managed' => $is_managed));
if ($is_successful) {
$return = new ComicPressBackendAttachment((object)array('ID' => 1));