diff options
author | Nils Adermann <naderman@naderman.de> | 2013-09-17 16:15:44 +0200 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2013-09-17 16:15:44 +0200 |
commit | c4b53490ad93566914cbc280910c67b75346a665 (patch) | |
tree | 206652fbbe1a3d0f3871a5342eef0b519773a079 /tests/extension | |
parent | d12f35885539c8bd7d2d795d9fc5638d022698bb (diff) | |
download | forums-c4b53490ad93566914cbc280910c67b75346a665.tar forums-c4b53490ad93566914cbc280910c67b75346a665.tar.gz forums-c4b53490ad93566914cbc280910c67b75346a665.tar.bz2 forums-c4b53490ad93566914cbc280910c67b75346a665.tar.xz forums-c4b53490ad93566914cbc280910c67b75346a665.zip |
[ticket/11700] Correctly load extensions with nonprefixed namespaces
PHPBB3-11700
Diffstat (limited to 'tests/extension')
21 files changed, 95 insertions, 57 deletions
diff --git a/tests/extension/ext/bar/ext.php b/tests/extension/ext/bar/ext.php index edae25663a..22ff5e8077 100644 --- a/tests/extension/ext/bar/ext.php +++ b/tests/extension/ext/bar/ext.php @@ -1,6 +1,8 @@ <?php -class phpbb_ext_bar_ext extends \phpbb\extension\base +namespace bar; + +class ext extends \phpbb\extension\base { static public $state; diff --git a/tests/extension/ext/barfoo/acp/a_info.php b/tests/extension/ext/barfoo/acp/a_info.php index cd7e4e574b..ea07189f7a 100644 --- a/tests/extension/ext/barfoo/acp/a_info.php +++ b/tests/extension/ext/barfoo/acp/a_info.php @@ -1,11 +1,13 @@ <?php -class phpbb_ext_barfoo_acp_a_info +namespace barfoo\acp; + +class a_info { public function module() { return array( - 'filename' => 'phpbb_ext_barfoo_acp_a_module', + 'filename' => 'barfoo\\acp\\a_module', 'title' => 'Barfoo', 'version' => '3.1.0-dev', 'modes' => array( diff --git a/tests/extension/ext/barfoo/acp/a_module.php b/tests/extension/ext/barfoo/acp/a_module.php index 5bedb49645..0ae8775013 100644 --- a/tests/extension/ext/barfoo/acp/a_module.php +++ b/tests/extension/ext/barfoo/acp/a_module.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_barfoo_acp_a_module +namespace barfoo\acp; + +class a_module { } diff --git a/tests/extension/ext/barfoo/ext.php b/tests/extension/ext/barfoo/ext.php index c1425369fa..1b7bb7ca5e 100644 --- a/tests/extension/ext/barfoo/ext.php +++ b/tests/extension/ext/barfoo/ext.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_barfoo_ext extends \phpbb\extension\base +namespace barfoo; + +class ext extends \phpbb\extension\base { } diff --git a/tests/extension/ext/foo/a_class.php b/tests/extension/ext/foo/a_class.php index b7be1ad654..9db45a697f 100644 --- a/tests/extension/ext/foo/a_class.php +++ b/tests/extension/ext/foo/a_class.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_a_class +namespace foo; + +class a_class { } diff --git a/tests/extension/ext/foo/acp/a_info.php b/tests/extension/ext/foo/acp/a_info.php index 3e9bbffaca..3b7d8cdd42 100644 --- a/tests/extension/ext/foo/acp/a_info.php +++ b/tests/extension/ext/foo/acp/a_info.php @@ -1,11 +1,13 @@ <?php -class phpbb_ext_foo_acp_a_info +namespace foo\acp; + +class a_info { public function module() { return array( - 'filename' => 'phpbb_ext_foo_acp_a_module', + 'filename' => 'foo\\acp\\a_module', 'title' => 'Foobar', 'version' => '3.1.0-dev', 'modes' => array( diff --git a/tests/extension/ext/foo/acp/a_module.php b/tests/extension/ext/foo/acp/a_module.php index 093b4b1ad7..7aa2351ab3 100644 --- a/tests/extension/ext/foo/acp/a_module.php +++ b/tests/extension/ext/foo/acp/a_module.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_acp_a_module +namespace foo\acp; + +class a_module { } diff --git a/tests/extension/ext/foo/acp/fail_info.php b/tests/extension/ext/foo/acp/fail_info.php index 99aa09551e..caea441f99 100644 --- a/tests/extension/ext/foo/acp/fail_info.php +++ b/tests/extension/ext/foo/acp/fail_info.php @@ -1,9 +1,12 @@ <?php + +namespace foo\acp; + /* * Due to the mismatch between the class name and the file name, this module * file shouldn't be found by the extension finder */ -class phpbb_ext_foo_acp_foo_info +class foo_info { public function module() { diff --git a/tests/extension/ext/foo/acp/fail_module.php b/tests/extension/ext/foo/acp/fail_module.php index a200d92d2f..8070929d3c 100644 --- a/tests/extension/ext/foo/acp/fail_module.php +++ b/tests/extension/ext/foo/acp/fail_module.php @@ -1,8 +1,11 @@ <?php + +namespace foo\acp; + /* * Due to the mismatch between the class name and the file name of the module * info file, this module's info file shouldn't be found */ -class phpbb_ext_foo_acp_fail_module +class fail_module { } diff --git a/tests/extension/ext/foo/b_class.php b/tests/extension/ext/foo/b_class.php index 4645266122..bb2a77c05e 100644 --- a/tests/extension/ext/foo/b_class.php +++ b/tests/extension/ext/foo/b_class.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_b_class +namespace foo; + +class b_class { } diff --git a/tests/extension/ext/foo/ext.php b/tests/extension/ext/foo/ext.php index f604dcab5f..ac6098f2f1 100644 --- a/tests/extension/ext/foo/ext.php +++ b/tests/extension/ext/foo/ext.php @@ -1,6 +1,8 @@ <?php -class phpbb_ext_foo_ext extends \phpbb\extension\base +namespace foo; + +class ext extends \phpbb\extension\base { static public $disabled; diff --git a/tests/extension/ext/foo/mcp/a_info.php b/tests/extension/ext/foo/mcp/a_info.php index 84a36b9134..9a896ce808 100644 --- a/tests/extension/ext/foo/mcp/a_info.php +++ b/tests/extension/ext/foo/mcp/a_info.php @@ -1,11 +1,13 @@ <?php -class phpbb_ext_foo_mcp_a_info +namespace foo\mcp; + +class a_info { public function module() { return array( - 'filename' => 'phpbb_ext_foo_mcp_a_module', + 'filename' => 'foo\\mcp\\a_module', 'title' => 'Foobar', 'version' => '3.1.0-dev', 'modes' => array( diff --git a/tests/extension/ext/foo/mcp/a_module.php b/tests/extension/ext/foo/mcp/a_module.php index 59d9f8cc6f..ca397e7004 100644 --- a/tests/extension/ext/foo/mcp/a_module.php +++ b/tests/extension/ext/foo/mcp/a_module.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_mcp_a_module +namespace foo\mcp; + +class a_module { } diff --git a/tests/extension/ext/foo/sub/type/alternative.php b/tests/extension/ext/foo/sub/type/alternative.php index 2ea7353f4b..1eaf794609 100644 --- a/tests/extension/ext/foo/sub/type/alternative.php +++ b/tests/extension/ext/foo/sub/type/alternative.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_sub_type_alternative +namespace foo\sub\type; + +class alternative { } diff --git a/tests/extension/ext/foo/type/alternative.php b/tests/extension/ext/foo/type/alternative.php index 404b66b965..8f753491ef 100644 --- a/tests/extension/ext/foo/type/alternative.php +++ b/tests/extension/ext/foo/type/alternative.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_type_alternative +namespace foo\type; + +class alternative { } diff --git a/tests/extension/ext/foo/typewrong/error.php b/tests/extension/ext/foo/typewrong/error.php index ba22cfae9a..5020926043 100644 --- a/tests/extension/ext/foo/typewrong/error.php +++ b/tests/extension/ext/foo/typewrong/error.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_foo_typewrong_error +namespace foo\typewrong; + +class error { } diff --git a/tests/extension/ext/vendor/moo/ext.php b/tests/extension/ext/vendor/moo/ext.php index 82657ece77..41ef570452 100644 --- a/tests/extension/ext/vendor/moo/ext.php +++ b/tests/extension/ext/vendor/moo/ext.php @@ -1,6 +1,8 @@ <?php -class phpbb_ext_vendor_moo_ext extends \phpbb\extension\base +namespace vendor\moo; + +class ext extends \phpbb\extension\base { static public $purged; diff --git a/tests/extension/ext/vendor/moo/feature_class.php b/tests/extension/ext/vendor/moo/feature_class.php index c3bcc4451c..cb8bb3da56 100644 --- a/tests/extension/ext/vendor/moo/feature_class.php +++ b/tests/extension/ext/vendor/moo/feature_class.php @@ -1,5 +1,7 @@ <?php -class phpbb_ext_vendor_moo_feature_class +namespace vendor\moo; + +class feature_class { } diff --git a/tests/extension/finder_test.php b/tests/extension/finder_test.php index f1e7bc02b9..d6f9e93478 100644 --- a/tests/extension/finder_test.php +++ b/tests/extension/finder_test.php @@ -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', - 'phpbb\ext\bar\my\hidden_class', - 'phpbb\ext\foo\a_class', - 'phpbb\ext\foo\b_class', ), $classes ); @@ -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', - 'phpbb\ext\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', - 'phpbb\ext\foo\sub\type\alternative', - 'phpbb\ext\foo\type\alternative', ), $classes ); @@ -122,7 +122,7 @@ class phpbb_extension_finder_test extends phpbb_test_case sort($classes); $this->assertEquals( array( - 'phpbb\ext\foo\type\alternative', + 'foo\type\alternative', ), $classes ); @@ -137,7 +137,7 @@ class phpbb_extension_finder_test extends phpbb_test_case sort($classes); $this->assertEquals( array( - 'phpbb\ext\foo\sub\type\alternative', + 'foo\sub\type\alternative', ), $classes ); @@ -152,7 +152,7 @@ class phpbb_extension_finder_test extends phpbb_test_case sort($classes); $this->assertEquals( array( - 'phpbb\ext\foo\sub\type\alternative', + 'foo\sub\type\alternative', ), $classes ); @@ -168,8 +168,8 @@ class phpbb_extension_finder_test extends phpbb_test_case sort($classes); $this->assertEquals( array( - 'phpbb\ext\foo\type\alternative', - 'phpbb\ext\foo\type\dummy\empty', + 'foo\type\alternative', + 'foo\type\dummy\empty', ), $classes ); diff --git a/tests/extension/manager_test.php b/tests/extension/manager_test.php index fd9e800c02..b127daf2ed 100644 --- a/tests/extension/manager_test.php +++ b/tests/extension/manager_test.php @@ -45,31 +45,31 @@ class phpbb_extension_manager_test extends phpbb_database_test_case public function test_enable() { - phpbb_ext_bar_ext::$state = 0; + 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(4, phpbb_ext_bar_ext::$state); + $this->assertEquals(4, bar\ext::$state); } public function test_disable() { - phpbb_ext_foo_ext::$disabled = false; + foo\ext::$disabled = false; $this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled())); $this->extension_manager->disable('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->assertTrue(phpbb_ext_foo_ext::$disabled); + $this->assertTrue(foo\ext::$disabled); } public function test_purge() { - phpbb_ext_vendor_moo_ext::$purged = false; + 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())); @@ -77,7 +77,7 @@ class phpbb_extension_manager_test extends phpbb_database_test_case $this->assertEquals(array('foo'), array_keys($this->extension_manager->all_enabled())); $this->assertEquals(array('foo'), array_keys($this->extension_manager->all_configured())); - $this->assertTrue(phpbb_ext_vendor_moo_ext::$purged); + $this->assertTrue(vendor\moo\ext::$purged); } public function test_enabled_no_cache() diff --git a/tests/extension/modules_test.php b/tests/extension/modules_test.php index 96655ff90f..ef21c943c2 100644 --- a/tests/extension/modules_test.php +++ b/tests/extension/modules_test.php @@ -45,7 +45,7 @@ class phpbb_extension_modules_test extends phpbb_test_case { global $phpbb_root_path; - $this->markTestIncomplete('Modules no speak namespace! Going to get rid of db modules altogether and fix this test after.'); +// $this->markTestIncomplete('Modules no speak namespace! Going to get rid of db modules altogether and fix this test after.'); // Correctly set the root path for this test to this directory, so the classes can be found $phpbb_root_path = dirname(__FILE__) . '/'; @@ -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( - 'phpbb_ext_foo_acp_a_module' => array( - 'filename' => 'phpbb_ext_foo_acp_a_module', + 'foo\\acp\\a_module' => array( + 'filename' => '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( - 'phpbb_ext_foo_mcp_a_module' => array( - 'filename' => 'phpbb_ext_foo_mcp_a_module', + 'foo\\mcp\\a_module' => array( + 'filename' => '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( - 'phpbb_ext_foo_mcp_a_module' => array( - 'filename' => 'phpbb_ext_foo_mcp_a_module', + 'foo\\mcp\\a_module' => array( + 'filename' => '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( - 'phpbb_ext_foo_mcp_a_module' => array( - 'filename' => 'phpbb_ext_foo_mcp_a_module', + 'foo\\mcp\\a_module' => array( + 'filename' => 'foo\\mcp\\a_module', 'title' => 'Foobar', 'version' => '3.1.0-dev', 'modes' => array( @@ -126,10 +126,10 @@ class phpbb_extension_modules_test extends phpbb_test_case // Get module info of specified extension module $this->acp_modules->module_class = 'acp'; - $acp_modules = $this->acp_modules->get_module_infos('phpbb_ext_foo_acp_a_module'); + $acp_modules = $this->acp_modules->get_module_infos('foo_acp_a_module'); $this->assertEquals(array( - 'phpbb_ext_foo_acp_a_module' => array ( - 'filename' => 'phpbb_ext_foo_acp_a_module', + 'foo\\acp\\a_module' => array ( + 'filename' => 'foo\\acp\\a_module', 'title' => 'Foobar', 'version' => '3.1.0-dev', 'modes' => array ( @@ -152,8 +152,8 @@ class phpbb_extension_modules_test extends phpbb_test_case $this->acp_modules->module_class = 'acp'; $acp_modules = $this->acp_modules->get_module_infos('', false, true); $this->assertEquals(array( - 'phpbb_ext_foo_acp_a_module' => array( - 'filename' => 'phpbb_ext_foo_acp_a_module', + 'foo\\acp\\a_module' => array( + 'filename' => 'foo\\acp\\a_module', 'title' => 'Foobar', 'version' => '3.1.0-dev', 'modes' => array( @@ -168,8 +168,8 @@ class phpbb_extension_modules_test extends phpbb_test_case 'test' => array('title' => 'Test', 'auth' => '', 'cat' => array('ACP_GENERAL')), ), ), - 'phpbb_ext_barfoo_acp_a_module' => array( - 'filename' => 'phpbb_ext_barfoo_acp_a_module', + 'barfoo\\acp\\a_module' => array( + 'filename' => 'barfoo\\acp\\a_module', 'title' => 'Barfoo', 'version' => '3.1.0-dev', 'modes' => array( @@ -179,10 +179,10 @@ 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('phpbb_ext_barfoo_acp_a_module', 'acp', true); + $acp_modules = $this->acp_modules->get_module_infos('barfoo_acp_a_module', 'acp', true); $this->assertEquals(array( - 'phpbb_ext_barfoo_acp_a_module' => array( - 'filename' => 'phpbb_ext_barfoo_acp_a_module', + 'barfoo\\acp\\a_module' => array( + 'filename' => 'barfoo\\acp\\a_module', 'title' => 'Barfoo', 'version' => '3.1.0-dev', 'modes' => array( |