generate from id working
This commit is contained in:
parent
17ac695134
commit
f1f4c8ecd7
@ -170,4 +170,20 @@ class ComicPressBackendFilesystem extends ComicPressBackend {
|
|||||||
|
|
||||||
return $roots;
|
return $roots;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function generate_from_id($id) {
|
||||||
|
if (preg_match('#^filesystem-([0-9]+)-(.*)$#', $id, $matches) > 0) {
|
||||||
|
list($all, $post_id, $root) = $matches;
|
||||||
|
|
||||||
|
if (($result = get_post_meta($post_id, 'backend_filesystem_files_by_type', true)) !== false) {
|
||||||
|
if (isset($result[$root])) {
|
||||||
|
$return = new ComicPressBackendFilesystem();
|
||||||
|
$return->id = $id;
|
||||||
|
$return->files_by_type = $result[$root];
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,6 @@ class ComicPressBackendFilesystemTest extends PHPUnit_Framework_TestCase {
|
|||||||
array(array('/comic/2008-01-01.jpg'), array()),
|
array(array('/comic/2008-01-01.jpg'), array()),
|
||||||
array(array('/comic/2009-01-01.jpg'), array(vfsStream::url('root/comic/2009-01-01.jpg'))),
|
array(array('/comic/2009-01-01.jpg'), array(vfsStream::url('root/comic/2009-01-01.jpg'))),
|
||||||
array(array('/comic/2009-01-01-test.jpg'), array(vfsStream::url('root/comic/2009-01-01-test.jpg'))),
|
array(array('/comic/2009-01-01-test.jpg'), array(vfsStream::url('root/comic/2009-01-01-test.jpg'))),
|
||||||
array(array('/comic/2009-01-01.jpg', '/comic/2009-01-02.jpg'), array(vfsStream::url('root/comic/2009-01-01.jpg'))),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,8 +127,8 @@ class ComicPressBackendFilesystemTest extends PHPUnit_Framework_TestCase {
|
|||||||
'rss' => array('rss')
|
'rss' => array('rss')
|
||||||
))->will($this->returnValue(array(
|
))->will($this->returnValue(array(
|
||||||
'root' => array(
|
'root' => array(
|
||||||
'comic' => array('comic'),
|
'comic' => 'comic',
|
||||||
'rss' => array('rss'),
|
'rss' => 'rss',
|
||||||
)
|
)
|
||||||
)));
|
)));
|
||||||
|
|
||||||
@ -138,14 +137,14 @@ class ComicPressBackendFilesystemTest extends PHPUnit_Framework_TestCase {
|
|||||||
$this->assertEquals(1, count($return));
|
$this->assertEquals(1, count($return));
|
||||||
$this->assertEquals('filesystem-1-root', $return[0]->id);
|
$this->assertEquals('filesystem-1-root', $return[0]->id);
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'comic' => array('comic'),
|
'comic' => 'comic',
|
||||||
'rss' => array('rss')
|
'rss' => 'rss'
|
||||||
), $return[0]->files_by_type);
|
), $return[0]->files_by_type);
|
||||||
|
|
||||||
$this->assertEquals(array(
|
$this->assertEquals(array(
|
||||||
'root' => array(
|
'root' => array(
|
||||||
'comic' => array('comic'),
|
'comic' => 'comic',
|
||||||
'rss' => array('rss'),
|
'rss' => 'rss',
|
||||||
)
|
)
|
||||||
), get_post_meta(1, 'backend_filesystem_files_by_type', true));
|
), get_post_meta(1, 'backend_filesystem_files_by_type', true));
|
||||||
}
|
}
|
||||||
@ -176,8 +175,14 @@ class ComicPressBackendFilesystemTest extends PHPUnit_Framework_TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function providerTestGenerateFromID() {
|
function providerTestGenerateFromID() {
|
||||||
|
$valid_backend = new ComicPressBackendFilesystem();
|
||||||
|
$valid_backend->id = 'filesystem-1--test';
|
||||||
|
$valid_backend->files_by_type = array('comic' => 'comic-file');
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
array('blah', false)
|
array('blah', false),
|
||||||
|
array('filesystem-1', false),
|
||||||
|
array('filesystem-1--test', $valid_backend),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,13 +190,16 @@ class ComicPressBackendFilesystemTest extends PHPUnit_Framework_TestCase {
|
|||||||
* @dataProvider providerTestGenerateFromID
|
* @dataProvider providerTestGenerateFromID
|
||||||
*/
|
*/
|
||||||
function testGenerateFromID($id, $is_successful) {
|
function testGenerateFromID($id, $is_successful) {
|
||||||
$this->markTestIncomplete();
|
|
||||||
wp_insert_post((object)array('ID' => 1));
|
wp_insert_post((object)array('ID' => 1));
|
||||||
|
|
||||||
|
update_post_meta(1, 'backend_filesystem_files_by_type', array('-test' => array('comic' => 'comic-file')));
|
||||||
|
|
||||||
if ($is_successful) {
|
if ($is_successful) {
|
||||||
$return = new ComicPressBackendFilesystem();
|
$return = $is_successful;
|
||||||
} else {
|
} else {
|
||||||
$return = false;
|
$return = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->assertEquals($return, ComicPressBackendFilesystem::generate_from_id($id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user