1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-19 07:16:36 +02:00

[ticket/12009] Move valid extensions in tests to correct dir structure.

PHPBB3-12009
This commit is contained in:
Cesar G 2013-12-12 04:29:48 -08:00
parent 4d65727acc
commit 31234b26d8
27 changed files with 145 additions and 97 deletions

View File

@ -1,5 +1,5 @@
{
"name": "moo/example",
"name": "vendor/moo",
"type": "phpbb-extension",
"description": "An example/sample extension to be used for testing purposes in phpBB Development.",
"version": "1.0.0",

View File

@ -1,14 +1,14 @@
<?php
namespace barfoo\acp;
namespace vendor2\bar\acp;
class a_info
{
public function module()
{
return array(
'filename' => 'barfoo\\acp\\a_module',
'title' => 'Barfoo',
'filename' => 'vendor2\\bar\\acp\\a_module',
'title' => 'Bar',
'version' => '3.1.0-dev',
'modes' => array(
'config' => array('title' => 'Config', 'auth' => '', 'cat' => array('ACP_MODS')),

View File

@ -1,6 +1,6 @@
<?php
namespace foo\mcp;
namespace vendor2\bar\acp;
class a_module
{

View File

@ -0,0 +1,21 @@
{
"name": "vendor2/bar",
"type": "phpbb-extension",
"description": "An example/sample extension to be used for testing purposes in phpBB Development.",
"version": "1.0.0",
"time": "2012-02-15 01:01:01",
"licence": "GPL-2.0",
"authors": [{
"name": "John Smith",
"email": "email@phpbb.com",
"homepage": "http://phpbb.com",
"role": "N/A"
}],
"require": {
"php": ">=5.3",
"phpbb/phpbb": "3.1.*@dev"
},
"extra": {
"display-name": "phpBB Bar Extension"
}
}

View File

@ -1,6 +1,6 @@
<?php
namespace bar;
namespace vendor2\bar;
class ext extends \phpbb\extension\base
{

View File

@ -1,6 +1,6 @@
<?php
namespace foo;
namespace vendor2\foo;
class a_class
{

View File

@ -1,13 +1,13 @@
<?php
namespace foo\acp;
namespace vendor2\foo\acp;
class a_info
{
public function module()
{
return array(
'filename' => 'foo\\acp\\a_module',
'filename' => 'vendor2\\foo\\acp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(

View File

@ -1,6 +1,6 @@
<?php
namespace foo\acp;
namespace vendor2\foo\acp;
class a_module
{

View File

@ -1,6 +1,6 @@
<?php
namespace foo\acp;
namespace vendor2\foo\acp;
/*
* Due to the mismatch between the class name and the file name, this module
@ -11,7 +11,7 @@ class foo_info
public function module()
{
return array(
'filename' => 'foo\acp\fail_module',
'filename' => 'vendor2\foo\acp\fail_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(

View File

@ -1,6 +1,6 @@
<?php
namespace foo\acp;
namespace vendor2\foo\acp;
/*
* Due to the mismatch between the class name and the file name of the module

View File

@ -1,6 +1,6 @@
<?php
namespace foo;
namespace vendor2\foo;
class b_class
{

View File

@ -1,5 +1,5 @@
{
"name": "foo/example",
"name": "vendor2/foo",
"type": "phpbb-extension",
"description": "An example/sample extension to be used for testing purposes in phpBB Development.",
"version": "1.0.0",

View File

@ -1,6 +1,6 @@
<?php
namespace foo;
namespace vendor2\foo;
class ext extends \phpbb\extension\base
{

View File

@ -1,13 +1,13 @@
<?php
namespace foo\mcp;
namespace vendor2\foo\mcp;
class a_info
{
public function module()
{
return array(
'filename' => 'foo\\mcp\\a_module',
'filename' => 'vendor2\\foo\\mcp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(

View File

@ -1,6 +1,6 @@
<?php
namespace barfoo\acp;
namespace vendor2\foo\mcp;
class a_module
{

View File

@ -0,0 +1,26 @@
<?php
namespace vendor3\bar;
class ext extends \phpbb\extension\base
{
static public $state;
public function enable_step($old_state)
{
// run 4 steps, then quit
if ($old_state === 4)
{
return false;
}
if ($old_state === false)
{
$old_state = 0;
}
self::$state = ++$old_state;
return self::$state;
}
}

View File

@ -1,6 +1,6 @@
<?php
namespace bar\my;
namespace vendor3\bar\my;
class hidden_class
{

View File

@ -18,15 +18,15 @@ class phpbb_extension_finder_test extends phpbb_test_case
$this->extension_manager = new phpbb_mock_extension_manager(
dirname(__FILE__) . '/',
array(
'foo' => array(
'ext_name' => 'foo',
'vendor2/foo' => array(
'ext_name' => 'vendor2/foo',
'ext_active' => '1',
'ext_path' => 'ext/foo/',
'ext_path' => 'ext/vendor2/foo/',
),
'bar' => array(
'ext_name' => 'bar',
'vendor3/bar' => array(
'ext_name' => 'vendor3/bar',
'ext_active' => '1',
'ext_path' => 'ext/bar/',
'ext_path' => 'ext/vendor3/bar/',
),
));
@ -43,10 +43,10 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($classes);
$this->assertEquals(
array(
'\bar\my\hidden_class',
'\foo\a_class',
'\foo\b_class',
'\phpbb\default\implementation',
'\vendor2\foo\a_class',
'\vendor2\foo\b_class',
'\vendor3\bar\my\hidden_class',
),
$classes
);
@ -60,7 +60,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($dirs);
$this->assertEquals(array(
dirname(__FILE__) . '/ext/foo/type/',
dirname(__FILE__) . '/ext/vendor2/foo/type/',
), $dirs);
}
@ -72,9 +72,9 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($dirs);
$this->assertEquals(array(
dirname(__FILE__) . '/ext/foo/sub/type/',
dirname(__FILE__) . '/ext/foo/type/',
dirname(__FILE__) . '/ext/foo/typewrong/',
dirname(__FILE__) . '/ext/vendor2/foo/sub/type/',
dirname(__FILE__) . '/ext/vendor2/foo/type/',
dirname(__FILE__) . '/ext/vendor2/foo/typewrong/',
), $dirs);
}
@ -88,8 +88,8 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($classes);
$this->assertEquals(
array(
'\bar\my\hidden_class',
'\phpbb\default\implementation',
'\vendor3\bar\my\hidden_class',
),
$classes
);
@ -105,9 +105,9 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($classes);
$this->assertEquals(
array(
'\foo\sub\type\alternative',
'\foo\type\alternative',
'\phpbb\default\implementation',
'\vendor2\foo\sub\type\alternative',
'\vendor2\foo\type\alternative',
),
$classes
);
@ -122,7 +122,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($classes);
$this->assertEquals(
array(
'\foo\type\alternative',
'\vendor2\foo\type\alternative',
),
$classes
);
@ -137,7 +137,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($classes);
$this->assertEquals(
array(
'\foo\sub\type\alternative',
'\vendor2\foo\sub\type\alternative',
),
$classes
);
@ -152,7 +152,7 @@ class phpbb_extension_finder_test extends phpbb_test_case
sort($classes);
$this->assertEquals(
array(
'\foo\sub\type\alternative',
'\vendor2\foo\sub\type\alternative',
),
$classes
);
@ -162,14 +162,14 @@ class phpbb_extension_finder_test extends phpbb_test_case
{
$files = $this->finder
->extension_directory('/type')
->find_from_extension('foo', dirname(__FILE__) . '/ext/foo/');
->find_from_extension('vendor2/foo', dirname(__FILE__) . '/ext/vendor2/foo/');
$classes = $this->finder->get_classes_from_files($files);
sort($classes);
$this->assertEquals(
array(
'\foo\type\alternative',
'\foo\type\dummy\empty',
'\vendor2\foo\type\alternative',
'\vendor2\foo\type\dummy\empty',
),
$classes
);

View File

@ -5,7 +5,7 @@
<column>ext_active</column>
<column>ext_state</column>
<row>
<value>foo</value>
<value>vendor2/foo</value>
<value>1</value>
<value></value>
</row>

View File

@ -7,8 +7,8 @@
*
*/
require_once dirname(__FILE__) . '/ext/bar/ext.php';
require_once dirname(__FILE__) . '/ext/foo/ext.php';
require_once dirname(__FILE__) . '/ext/vendor2/bar/ext.php';
require_once dirname(__FILE__) . '/ext/vendor2/foo/ext.php';
require_once dirname(__FILE__) . '/ext/vendor/moo/ext.php';
class phpbb_extension_manager_test extends phpbb_database_test_case
@ -30,52 +30,53 @@ class phpbb_extension_manager_test extends phpbb_database_test_case
public function test_available()
{
$this->assertEquals(array('bar', 'barfoo', 'foo', 'vendor/moo'), array_keys($this->extension_manager->all_available()));
// barfoo and vendor3/bar should not listed due to missing composer.json. barfoo also has incorrect dir structure.
$this->assertEquals(array('vendor/moo', 'vendor2/bar', 'vendor2/foo'), array_keys($this->extension_manager->all_available()));
}
public function test_enabled()
{
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled()));
}
public function test_configured()
{
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
$this->assertEquals(array('vendor/moo', 'vendor2/foo'), array_keys($this->extension_manager->all_configured()));
}
public function test_enable()
{
bar\ext::$state = 0;
vendor2\bar\ext::$state = 0;
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
$this->extension_manager->enable('bar');
$this->assertEquals(array('bar', 'foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('bar', 'foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
$this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled()));
$this->extension_manager->enable('vendor2/bar');
$this->assertEquals(array('vendor2/bar', 'vendor2/foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('vendor/moo', 'vendor2/bar', 'vendor2/foo'), array_keys($this->extension_manager->all_configured()));
$this->assertEquals(4, bar\ext::$state);
$this->assertEquals(4, vendor2\bar\ext::$state);
}
public function test_disable()
{
foo\ext::$disabled = false;
vendor2\foo\ext::$disabled = false;
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
$this->extension_manager->disable('foo');
$this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled()));
$this->extension_manager->disable('vendor2/foo');
$this->assertEquals(array(), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
$this->assertEquals(array('vendor/moo', 'vendor2/foo'), array_keys($this->extension_manager->all_configured()));
$this->assertTrue(foo\ext::$disabled);
$this->assertTrue(vendor2\foo\ext::$disabled);
}
public function test_purge()
{
vendor\moo\ext::$purged = false;
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('foo', 'vendor/moo'), array_keys($this->extension_manager->all_configured()));
$this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('vendor/moo', 'vendor2/foo'), array_keys($this->extension_manager->all_configured()));
$this->extension_manager->purge('vendor/moo');
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('foo'), array_keys($this->extension_manager->all_configured()));
$this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_enabled()));
$this->assertEquals(array('vendor2/foo'), array_keys($this->extension_manager->all_configured()));
$this->assertTrue(vendor\moo\ext::$purged);
}
@ -84,7 +85,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case
{
$extension_manager = $this->create_extension_manager(false);
$this->assertEquals(array('foo'), array_keys($extension_manager->all_enabled()));
$this->assertEquals(array('vendor2/foo'), array_keys($extension_manager->all_enabled()));
}
protected function create_extension_manager($with_cache = true)

View File

@ -82,7 +82,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
// Should fail from missing composer.json
public function test_bar()
{
$ext_name = 'bar';
$ext_name = 'vendor3/bar';
$manager = $this->get_metadata_manager($ext_name);
@ -98,7 +98,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
// Should be the same as a direct json_decode of the composer.json file
public function test_foo()
{
$ext_name = 'foo';
$ext_name = 'vendor2/foo';
$manager = $this->get_metadata_manager($ext_name);
@ -111,7 +111,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
$this->fail($e);
}
$json = json_decode(file_get_contents($this->phpbb_root_path . 'ext/foo/composer.json'), true);
$json = json_decode(file_get_contents($this->phpbb_root_path . 'ext/vendor2/foo/composer.json'), true);
$this->assertEquals($metadata, $json);
}

View File

@ -7,10 +7,10 @@
*
*/
require_once dirname(__FILE__) . '/ext/foo/acp/a_info.php';
require_once dirname(__FILE__) . '/ext/foo/mcp/a_info.php';
require_once dirname(__FILE__) . '/ext/foo/acp/fail_info.php';
require_once dirname(__FILE__) . '/ext/barfoo/acp/a_info.php';
require_once dirname(__FILE__) . '/ext/vendor2/foo/acp/a_info.php';
require_once dirname(__FILE__) . '/ext/vendor2/foo/mcp/a_info.php';
require_once dirname(__FILE__) . '/ext/vendor2/foo/acp/fail_info.php';
require_once dirname(__FILE__) . '/ext/vendor2/bar/acp/a_info.php';
require_once dirname(__FILE__) . '/../../phpBB/includes/acp/acp_modules.php';
class phpbb_extension_modules_test extends phpbb_test_case
@ -25,15 +25,15 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->extension_manager = new phpbb_mock_extension_manager(
dirname(__FILE__) . '/',
array(
'foo' => array(
'ext_name' => 'foo',
'vendor2/foo' => array(
'ext_name' => 'vendor2/foo',
'ext_active' => '1',
'ext_path' => 'ext/foo/',
'ext_path' => 'ext/vendor2/foo/',
),
'bar' => array(
'ext_name' => 'bar',
'vendor3/bar' => array(
'ext_name' => 'vendor3/bar',
'ext_active' => '1',
'ext_path' => 'ext/bar/',
'ext_path' => 'ext/vendor3/bar/',
),
));
$phpbb_extension_manager = $this->extension_manager;
@ -54,8 +54,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->acp_modules->module_class = 'acp';
$acp_modules = $this->acp_modules->get_module_infos();
$this->assertEquals(array(
'foo\\acp\\a_module' => array(
'filename' => 'foo\\acp\\a_module',
'vendor2\\foo\\acp\\a_module' => array(
'filename' => 'vendor2\\foo\\acp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(
@ -76,8 +76,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->acp_modules->module_class = 'mcp';
$acp_modules = $this->acp_modules->get_module_infos();
$this->assertEquals(array(
'foo\\mcp\\a_module' => array(
'filename' => 'foo\\mcp\\a_module',
'vendor2\\foo\\mcp\\a_module' => array(
'filename' => 'vendor2\\foo\\mcp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(
@ -90,8 +90,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->acp_modules->module_class = 'mcp';
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module');
$this->assertEquals(array(
'foo\\mcp\\a_module' => array(
'filename' => 'foo\\mcp\\a_module',
'vendor2\\foo\\mcp\\a_module' => array(
'filename' => 'vendor2\\foo\\mcp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(
@ -104,8 +104,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->acp_modules->module_class = '';
$acp_modules = $this->acp_modules->get_module_infos('mcp_a_module', 'mcp');
$this->assertEquals(array(
'foo\\mcp\\a_module' => array(
'filename' => 'foo\\mcp\\a_module',
'vendor2\\foo\\mcp\\a_module' => array(
'filename' => 'vendor2\\foo\\mcp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(
@ -128,8 +128,8 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->acp_modules->module_class = 'acp';
$acp_modules = $this->acp_modules->get_module_infos('foo_acp_a_module');
$this->assertEquals(array(
'foo\\acp\\a_module' => array (
'filename' => 'foo\\acp\\a_module',
'vendor2\\foo\\acp\\a_module' => array (
'filename' => 'vendor2\\foo\\acp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array (
@ -148,12 +148,12 @@ class phpbb_extension_modules_test extends phpbb_test_case
$this->assertEquals(array(), $acp_modules);
// No specific module, module class set to false (will default to the above acp)
// Setting $use_all_available will cause get_module_infos() to also load not enabled extensions (barfoo)
// Setting $use_all_available will cause get_module_infos() to also load not enabled extensions (vendor2/bar)
$this->acp_modules->module_class = 'acp';
$acp_modules = $this->acp_modules->get_module_infos('', false, true);
$this->assertEquals(array(
'foo\\acp\\a_module' => array(
'filename' => 'foo\\acp\\a_module',
'vendor2\\foo\\acp\\a_module' => array(
'filename' => 'vendor2\\foo\\acp\\a_module',
'title' => 'Foobar',
'version' => '3.1.0-dev',
'modes' => array(
@ -168,9 +168,9 @@ class phpbb_extension_modules_test extends phpbb_test_case
'test' => array('title' => 'Test', 'auth' => '', 'cat' => array('ACP_GENERAL')),
),
),
'barfoo\\acp\\a_module' => array(
'filename' => 'barfoo\\acp\\a_module',
'title' => 'Barfoo',
'vendor2\\bar\\acp\\a_module' => array(
'filename' => 'vendor2\\bar\\acp\\a_module',
'title' => 'Bar',
'version' => '3.1.0-dev',
'modes' => array(
'config' => array('title' => 'Config', 'auth' => '', 'cat' => array('ACP_MODS')),
@ -179,11 +179,11 @@ class phpbb_extension_modules_test extends phpbb_test_case
), $acp_modules);
// Specific module set to disabled extension
$acp_modules = $this->acp_modules->get_module_infos('barfoo_acp_a_module', 'acp', true);
$acp_modules = $this->acp_modules->get_module_infos('vendor2_bar_acp_a_module', 'acp', true);
$this->assertEquals(array(
'barfoo\\acp\\a_module' => array(
'filename' => 'barfoo\\acp\\a_module',
'title' => 'Barfoo',
'vendor2\\bar\\acp\\a_module' => array(
'filename' => 'vendor2\\bar\\acp\\a_module',
'title' => 'Bar',
'version' => '3.1.0-dev',
'modes' => array(
'config' => array('title' => 'Config', 'auth' => '', 'cat' => array('ACP_MODS')),