wpmu-specific stuff
This commit is contained in:
parent
3d514a3544
commit
3b0b3a1471
|
@ -58,19 +58,17 @@ class ComicPressMediaHandling {
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @codeCoverageIgnoreStart
|
||||||
function _abspath() {
|
function _abspath() {
|
||||||
return ABSPATH;
|
return ABSPATH;
|
||||||
}
|
}
|
||||||
|
// @codeCoverageIgnoreEnd
|
||||||
|
|
||||||
function _expand_filter_callback($matches) {
|
function _expand_filter_callback($matches) {
|
||||||
$value = '';
|
$value = '';
|
||||||
switch (strtolower($matches[1])) {
|
switch (strtolower($matches[1])) {
|
||||||
case 'wordpress':
|
case 'wordpress':
|
||||||
if ($path = get_option('upload_path')) {
|
|
||||||
$value = $path;
|
|
||||||
} else {
|
|
||||||
$value = $this->_abspath();
|
$value = $this->_abspath();
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'type-folder':
|
case 'type-folder':
|
||||||
$value = $this->type_folder;
|
$value = $this->type_folder;
|
||||||
|
@ -115,6 +113,12 @@ class ComicPressMediaHandling {
|
||||||
|
|
||||||
if (isset($globals[$type])) {
|
if (isset($globals[$type])) {
|
||||||
$filter = $this->_expand_filter($filter, $globals[$type], $post_to_use);
|
$filter = $this->_expand_filter($filter, $globals[$type], $post_to_use);
|
||||||
|
|
||||||
|
if (is_array($results = $this->_read_directory($filter))) {
|
||||||
|
if (($pre_handle = apply_filters('comicpress_pre_handle_comic_path_results', false, $results, $type, $post_to_use)) !== false) {
|
||||||
|
return $pre_handle;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ require_once('PHPUnit/Framework.php');
|
||||||
require_once('MockPress/mockpress.php');
|
require_once('MockPress/mockpress.php');
|
||||||
require_once('vfsStream/vfsStream.php');
|
require_once('vfsStream/vfsStream.php');
|
||||||
require_once(dirname(__FILE__) . '/../classes/ComicPressMediaHandling.inc');
|
require_once(dirname(__FILE__) . '/../classes/ComicPressMediaHandling.inc');
|
||||||
|
require_once(dirname(__FILE__) . '/../functions/wpmu.php');
|
||||||
|
|
||||||
class ComicPressMediaHandlingTest extends PHPUnit_Framework_TestCase {
|
class ComicPressMediaHandlingTest extends PHPUnit_Framework_TestCase {
|
||||||
function setUp() {
|
function setUp() {
|
||||||
|
@ -84,23 +85,33 @@ class ComicPressMediaHandlingTest extends PHPUnit_Framework_TestCase {
|
||||||
array('%test test%', '%test test%'),
|
array('%test test%', '%test test%'),
|
||||||
array('%wordpress%/%type-folder%', vfsStream::url('root') . '/comic'),
|
array('%wordpress%/%type-folder%', vfsStream::url('root') . '/comic'),
|
||||||
array('%date-Y%', '2009'),
|
array('%date-Y%', '2009'),
|
||||||
array('%wordpress%/%type-folder%/%date-Y-m-d%*.*', vfsStream::url('root') . '/comic/2009-01-01.*\..*'),
|
array('%wordpress%/%type-folder%/%date-Y-m-d%*.*', vfsStream::url('root') . '/comic/2009-01-01.*\..*')
|
||||||
array('%wordpress%/%type-folder%/%date-Y-m-d%*.*', '/wpmupath/comic/2009-01-01.*\..*', '/wpmupath'),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider providerTestExpandFilter
|
* @dataProvider providerTestExpandFilter
|
||||||
*/
|
*/
|
||||||
function testExpandFilter($filter, $expected_result, $use_option_path = false) {
|
function testExpandFilter($filter, $expected_result) {
|
||||||
$cpmh = $this->getMock('ComicPressMediaHandling', array('_abspath'));
|
$cpmh = $this->getMock('ComicPressMediaHandling', array('_abspath'));
|
||||||
$cpmh->expects($this->any())->method('_abspath')->will($this->returnValue(vfsStream::url('root')));
|
$cpmh->expects($this->any())->method('_abspath')->will($this->returnValue(vfsStream::url('root')));
|
||||||
|
|
||||||
if ($use_option_path !== false) {
|
$this->assertEquals($expected_result, $cpmh->_expand_filter($filter, 'comic', (object)array('ID' => 1, 'post_date' => '2009-01-01 15:00:00')));
|
||||||
update_option('upload_path', $use_option_path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->assertEquals($expected_result, $cpmh->_expand_filter($filter, 'comic', (object)array('ID' => 1, 'post_date' => '2009-01-01 15:00:00')));
|
function providerTestExpandFilterWPMUCallback() {
|
||||||
|
return array(
|
||||||
|
array('', 'original'),
|
||||||
|
array('new', 'new')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider providerTestExpandFilterWPMUCallback
|
||||||
|
*/
|
||||||
|
function testExpandFilterWPMUCallback($option_value, $expected_result) {
|
||||||
|
update_option('upload_path', $option_value);
|
||||||
|
$this->assertEquals($expected_result, _comicpress_expand_filter_callback('original', array()));
|
||||||
}
|
}
|
||||||
|
|
||||||
function providerTestReadDirectory() {
|
function providerTestReadDirectory() {
|
||||||
|
@ -125,4 +136,25 @@ class ComicPressMediaHandlingTest extends PHPUnit_Framework_TestCase {
|
||||||
}
|
}
|
||||||
$this->assertEquals($expected_results, $this->cpmh->_read_directory($pattern));
|
$this->assertEquals($expected_results, $this->cpmh->_read_directory($pattern));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function providerTestPreHandleComicPathResults() {
|
||||||
|
return array(
|
||||||
|
array('', '', false),
|
||||||
|
array('1', '', 'comic/one'),
|
||||||
|
array('1', 'comic', 'files/one'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider providerTestPreHandleComicPathResults
|
||||||
|
*/
|
||||||
|
function testPreHandleComicPathResults($_wpmu_version, $upload_path, $expected_result) {
|
||||||
|
global $wpmu_version, $comic_folder;
|
||||||
|
$wpmu_version = $_wpmu_version;
|
||||||
|
$comic_folder = 'comic';
|
||||||
|
|
||||||
|
update_option('upload_path', $upload_path);
|
||||||
|
|
||||||
|
$this->assertEquals($expected_result, _comicpress_pre_handle_comic_path_results(false, array('one/one', 'two/two', 'three/three'), 'comic', (object)array('ID' => 1)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue