From 7129531bc0884a710e5d61ced2e0a54538f64266 Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Fri, 7 Jan 2011 22:45:39 +0100 Subject: [ticket/9981] Fix unit test dependencies PHPBB3-9981 --- tests/request/request_var.php | 1 + tests/template/template.php | 1 + 2 files changed, 2 insertions(+) (limited to 'tests') diff --git a/tests/request/request_var.php b/tests/request/request_var.php index 64cdd9bc75..e452aefea9 100644 --- a/tests/request/request_var.php +++ b/tests/request/request_var.php @@ -13,6 +13,7 @@ require_once __DIR__ . '/../../phpBB/includes/request/deactivated_super_global.p require_once __DIR__ . '/../../phpBB/includes/request/interface.php'; require_once __DIR__ . '/../../phpBB/includes/request/request.php'; require_once __DIR__ . '/../../phpBB/includes/functions.php'; +require_once __DIR__ . '/../../phpBB/includes/utf/utf_tools.php'; class phpbb_request_var_test extends phpbb_test_case { diff --git a/tests/template/template.php b/tests/template/template.php index a58a0a4e0f..14a5a3c752 100644 --- a/tests/template/template.php +++ b/tests/template/template.php @@ -7,6 +7,7 @@ * */ +require_once __DIR__ . '/../../phpBB/includes/functions.php'; require_once __DIR__ . '/../../phpBB/includes/template.php'; class phpbb_template_template_test extends phpbb_test_case -- cgit v1.2.1 From 36e95f939db9b88b8519d956120d161102184ccb Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Fri, 7 Jan 2011 18:03:00 +0100 Subject: [ticket/9979] Support autoloading in unit tests PHPBB-9979 --- tests/bootstrap.php | 4 ++++ tests/class_loader/class_loader_test.php | 12 ++++++++++++ tests/request/deactivated_super_global.php | 3 --- tests/request/request.php | 5 ----- tests/request/request_var.php | 5 ----- tests/request/type_cast_helper.php | 2 -- tests/security/redirect.php | 1 - 7 files changed, 16 insertions(+), 16 deletions(-) (limited to 'tests') diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 99f145e427..161bd83a3d 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -26,6 +26,10 @@ else } require_once $phpbb_root_path . 'includes/constants.php'; +require_once $phpbb_root_path . 'includes/class_loader.' . $phpEx; + +$class_loader = new phpbb_class_loader($phpbb_root_path, '.' . $phpEx); +$class_loader->register(); require_once 'test_framework/phpbb_test_case_helpers.php'; require_once 'test_framework/phpbb_test_case.php'; diff --git a/tests/class_loader/class_loader_test.php b/tests/class_loader/class_loader_test.php index aef4f1de07..3eb3c915a1 100644 --- a/tests/class_loader/class_loader_test.php +++ b/tests/class_loader/class_loader_test.php @@ -14,6 +14,18 @@ require_once __DIR__ . '/../../phpBB/includes/class_loader.php'; class phpbb_class_loader_test extends PHPUnit_Framework_TestCase { + public function setUp() + { + global $class_loader; + $class_loader->unregister(); + } + + public function tearDown() + { + global $class_loader; + $class_loader->register(); + } + public function test_resolve_path() { $prefix = __DIR__ . '/'; diff --git a/tests/request/deactivated_super_global.php b/tests/request/deactivated_super_global.php index ea385831c9..995f93443d 100644 --- a/tests/request/deactivated_super_global.php +++ b/tests/request/deactivated_super_global.php @@ -8,9 +8,6 @@ * */ -require_once __DIR__ . '/../../phpBB/includes/request/interface.php'; -require_once __DIR__ . '/../../phpBB/includes/request/deactivated_super_global.php'; - class phpbb_deactivated_super_global_test extends phpbb_test_case { /** diff --git a/tests/request/request.php b/tests/request/request.php index 7cec70b0d4..203c9fd880 100644 --- a/tests/request/request.php +++ b/tests/request/request.php @@ -8,11 +8,6 @@ * */ -require_once __DIR__ . '/../../phpBB/includes/request/type_cast_helper_interface.php'; -require_once __DIR__ . '/../../phpBB/includes/request/interface.php'; -require_once __DIR__ . '/../../phpBB/includes/request/deactivated_super_global.php'; -require_once __DIR__ . '/../../phpBB/includes/request/request.php'; - class phpbb_request_test extends phpbb_test_case { private $type_cast_helper; diff --git a/tests/request/request_var.php b/tests/request/request_var.php index e452aefea9..8848e388bf 100644 --- a/tests/request/request_var.php +++ b/tests/request/request_var.php @@ -7,11 +7,6 @@ * */ -require_once __DIR__ . '/../../phpBB/includes/request/type_cast_helper_interface.php'; -require_once __DIR__ . '/../../phpBB/includes/request/type_cast_helper.php'; -require_once __DIR__ . '/../../phpBB/includes/request/deactivated_super_global.php'; -require_once __DIR__ . '/../../phpBB/includes/request/interface.php'; -require_once __DIR__ . '/../../phpBB/includes/request/request.php'; require_once __DIR__ . '/../../phpBB/includes/functions.php'; require_once __DIR__ . '/../../phpBB/includes/utf/utf_tools.php'; diff --git a/tests/request/type_cast_helper.php b/tests/request/type_cast_helper.php index 3f27269acb..6d4e7055d5 100644 --- a/tests/request/type_cast_helper.php +++ b/tests/request/type_cast_helper.php @@ -9,8 +9,6 @@ */ require_once __DIR__ . '/../../phpBB/includes/utf/utf_tools.php'; -require_once __DIR__ . '/../../phpBB/includes/request/type_cast_helper_interface.php'; -require_once __DIR__ . '/../../phpBB/includes/request/type_cast_helper.php'; class phpbb_type_cast_helper_test extends phpbb_test_case { diff --git a/tests/security/redirect.php b/tests/security/redirect.php index c53414e7df..1557384507 100644 --- a/tests/security/redirect.php +++ b/tests/security/redirect.php @@ -8,7 +8,6 @@ */ require_once __DIR__ . '/base.php'; - require_once __DIR__ . '/../../phpBB/includes/functions.php'; require_once __DIR__ . '/../../phpBB/includes/session.php'; -- cgit v1.2.1 From 9329b16ab13f3a4caf107df358c3c58bda2dcd8a Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Wed, 3 Nov 2010 18:35:31 +0100 Subject: [task/acm-refactor] Refactor the ACM classes to have a common interface. They are now refered to as cache drivers rather than ACM classes. The additional utility functions from the original cache class have been moved to the cache_service. The class loader is now instantiated without a cache instance and passed one as soon as it is constructed to allow autoloading the cache classes. PHPBB3-9983 --- tests/bootstrap.php | 2 +- tests/cache/all_tests.php | 40 ++++++++++++++++++++++++++ tests/cache/cache_test.php | 39 +++++++++++++++++++++++++ tests/class_loader/cache_mock.php | 49 ++++++++++++++++++++++++++++++-- tests/class_loader/class_loader_test.php | 14 ++++++--- 5 files changed, 137 insertions(+), 7 deletions(-) create mode 100644 tests/cache/all_tests.php create mode 100644 tests/cache/cache_test.php (limited to 'tests') diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 161bd83a3d..8d4e9c4527 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -28,7 +28,7 @@ else require_once $phpbb_root_path . 'includes/constants.php'; require_once $phpbb_root_path . 'includes/class_loader.' . $phpEx; -$class_loader = new phpbb_class_loader($phpbb_root_path, '.' . $phpEx); +$class_loader = new phpbb_class_loader($phpbb_root_path, '.php'); $class_loader->register(); require_once 'test_framework/phpbb_test_case_helpers.php'; diff --git a/tests/cache/all_tests.php b/tests/cache/all_tests.php new file mode 100644 index 0000000000..829d496e5d --- /dev/null +++ b/tests/cache/all_tests.php @@ -0,0 +1,40 @@ +addTestSuite('phpbb_cache_test'); + + return $suite; + } +} + +if (PHPUnit_MAIN_METHOD == 'phpbb_cache_all_tests::main') +{ + phpbb_cache_all_tests::main(); +} diff --git a/tests/cache/cache_test.php b/tests/cache/cache_test.php new file mode 100644 index 0000000000..220fddfd25 --- /dev/null +++ b/tests/cache/cache_test.php @@ -0,0 +1,39 @@ +put('test_key', 'test_value'); + $acm->save(); + + $this->assertEquals( + 'test_value', + $acm->get('test_key'), + 'File ACM put and get' + ); + } +} diff --git a/tests/class_loader/cache_mock.php b/tests/class_loader/cache_mock.php index b254978fcc..73d1e64cf5 100644 --- a/tests/class_loader/cache_mock.php +++ b/tests/class_loader/cache_mock.php @@ -8,7 +8,9 @@ * */ -class phpbb_cache_mock +require '../phpBB/includes/cache/driver/interface.php'; + +class phpbb_cache_mock implements phpbb_cache_driver_interface { private $variables = array(); @@ -22,8 +24,51 @@ class phpbb_cache_mock return false; } - function put($var_name, $value) + function put($var_name, $value, $ttl = 0) { $this->variables[$var_name] = $value; } + + function load() + { + } + function unload() + { + } + function save() + { + } + function tidy() + { + } + function purge() + { + } + function destroy($var_name, $table = '') + { + } + public function _exists($var_name) + { + } + public function sql_load($query) + { + } + public function sql_save($query, &$query_result, $ttl) + { + } + public function sql_exists($query_id) + { + } + public function sql_fetchrow($query_id) + { + } + public function sql_fetchfield($query_id, $field) + { + } + public function sql_rowseek($rownum, $query_id) + { + } + public function sql_freeresult($query_id) + { + } } diff --git a/tests/class_loader/class_loader_test.php b/tests/class_loader/class_loader_test.php index 3eb3c915a1..c01278f914 100644 --- a/tests/class_loader/class_loader_test.php +++ b/tests/class_loader/class_loader_test.php @@ -10,8 +10,6 @@ require_once __DIR__ . '/cache_mock.php'; -require_once __DIR__ . '/../../phpBB/includes/class_loader.php'; - class phpbb_class_loader_test extends PHPUnit_Framework_TestCase { public function setUp() @@ -63,8 +61,16 @@ class phpbb_class_loader_test extends PHPUnit_Framework_TestCase public function test_resolve_cached() { - $cache = new phpbb_cache_mock; - $cache->put('class_loader', array('phpbb_a_cached_name' => 'a/cached_name')); + $cacheMap = array('class_loader' => array('phpbb_a_cached_name' => 'a/cached_name')); + + $cache = $this->getMock('phpbb_cache_driver_interface', + array('get', 'put', 'load', 'unload', 'save', 'tidy', 'purge', 'destroy', '_exists', + 'sql_load', 'sql_save', 'sql_exists', 'sql_fetchrow', 'sql_fetchfield', 'sql_rowseek', 'sql_freeresult')); + $cache->expects($this->any()) + ->method('get') + ->will($this->returnCallback(function($var_name) use ($cacheMap) { + return $cacheMap[$var_name]; + })); $prefix = __DIR__ . '/'; $class_loader = new phpbb_class_loader($prefix, '.php', $cache); -- cgit v1.2.1 From 1aef7eb20ee195c7f21d6c5b78653b7c43e669ec Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sun, 9 Jan 2011 21:09:56 +0100 Subject: [task/acm-refactor] Cleaning up left over mentions of ACM and fixing tests. PHPBB3-9983 --- tests/cache/all_tests.php | 40 --------------- tests/cache/cache_test.php | 24 +++++---- tests/cache/tmp/.gitkeep | 0 tests/class_loader/cache_mock.php | 74 --------------------------- tests/class_loader/class_loader_test.php | 18 +++---- tests/mock/cache.php | 87 ++++++++++++++++++++++++++++++++ 6 files changed, 106 insertions(+), 137 deletions(-) delete mode 100644 tests/cache/all_tests.php create mode 100644 tests/cache/tmp/.gitkeep delete mode 100644 tests/class_loader/cache_mock.php create mode 100644 tests/mock/cache.php (limited to 'tests') diff --git a/tests/cache/all_tests.php b/tests/cache/all_tests.php deleted file mode 100644 index 829d496e5d..0000000000 --- a/tests/cache/all_tests.php +++ /dev/null @@ -1,40 +0,0 @@ -addTestSuite('phpbb_cache_test'); - - return $suite; - } -} - -if (PHPUnit_MAIN_METHOD == 'phpbb_cache_all_tests::main') -{ - phpbb_cache_all_tests::main(); -} diff --git a/tests/cache/cache_test.php b/tests/cache/cache_test.php index 220fddfd25..463095f129 100644 --- a/tests/cache/cache_test.php +++ b/tests/cache/cache_test.php @@ -2,37 +2,39 @@ /** * * @package testing -* @version $Id$ * @copyright (c) 2010 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ -require_once 'test_framework/framework.php'; +require_once __DIR__ . '/../../phpBB/includes/functions.php'; class phpbb_cache_test extends phpbb_test_case { protected function tearDown() { - $iterator = new DirectoryIterator('cache/tmp'); + $iterator = new DirectoryIterator(__DIR__ . '/tmp'); foreach ($iterator as $file) { - if (is_file('cache/tmp/' . $file)) + if (is_file(__DIR__ . '/tmp/' . $file) && $file != '.gitkeep') { - unlink('cache/tmp/' . $file); + unlink(__DIR__ . '/tmp/' . $file); } } } - public function test_acm_file() + public function test_cache_driver_file() { - $acm = new phpbb_cache_driver_file('cache/tmp/'); - $acm->put('test_key', 'test_value'); - $acm->save(); - + global $phpEx; + $phpEx = 'txt'; // do not store files as .php + + $driver = new phpbb_cache_driver_file(__DIR__ . '/tmp/'); + $driver->put('test_key', 'test_value'); + $driver->save(); + $this->assertEquals( 'test_value', - $acm->get('test_key'), + $driver->get('test_key'), 'File ACM put and get' ); } diff --git a/tests/cache/tmp/.gitkeep b/tests/cache/tmp/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/class_loader/cache_mock.php b/tests/class_loader/cache_mock.php deleted file mode 100644 index 73d1e64cf5..0000000000 --- a/tests/class_loader/cache_mock.php +++ /dev/null @@ -1,74 +0,0 @@ -variables[$var_name])) - { - return $this->variables[$var_name]; - } - - return false; - } - - function put($var_name, $value, $ttl = 0) - { - $this->variables[$var_name] = $value; - } - - function load() - { - } - function unload() - { - } - function save() - { - } - function tidy() - { - } - function purge() - { - } - function destroy($var_name, $table = '') - { - } - public function _exists($var_name) - { - } - public function sql_load($query) - { - } - public function sql_save($query, &$query_result, $ttl) - { - } - public function sql_exists($query_id) - { - } - public function sql_fetchrow($query_id) - { - } - public function sql_fetchfield($query_id, $field) - { - } - public function sql_rowseek($rownum, $query_id) - { - } - public function sql_freeresult($query_id) - { - } -} diff --git a/tests/class_loader/class_loader_test.php b/tests/class_loader/class_loader_test.php index c01278f914..cc6862dc70 100644 --- a/tests/class_loader/class_loader_test.php +++ b/tests/class_loader/class_loader_test.php @@ -2,13 +2,12 @@ /** * * @package testing -* @version $Id$ -* @copyright (c) 2008 phpBB Group +* @copyright (c) 2011 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ -require_once __DIR__ . '/cache_mock.php'; +require_once __DIR__ . '/../mock/cache.php'; class phpbb_class_loader_test extends PHPUnit_Framework_TestCase { @@ -62,15 +61,7 @@ class phpbb_class_loader_test extends PHPUnit_Framework_TestCase public function test_resolve_cached() { $cacheMap = array('class_loader' => array('phpbb_a_cached_name' => 'a/cached_name')); - - $cache = $this->getMock('phpbb_cache_driver_interface', - array('get', 'put', 'load', 'unload', 'save', 'tidy', 'purge', 'destroy', '_exists', - 'sql_load', 'sql_save', 'sql_exists', 'sql_fetchrow', 'sql_fetchfield', 'sql_rowseek', 'sql_freeresult')); - $cache->expects($this->any()) - ->method('get') - ->will($this->returnCallback(function($var_name) use ($cacheMap) { - return $cacheMap[$var_name]; - })); + $cache = new phpbb_mock_cache($cacheMap); $prefix = __DIR__ . '/'; $class_loader = new phpbb_class_loader($prefix, '.php', $cache); @@ -88,5 +79,8 @@ class phpbb_class_loader_test extends PHPUnit_Framework_TestCase $class_loader->resolve_path('phpbb_a_cached_name'), 'Class in a directory' ); + + $cacheMap['class_loader']['phpbb_dir_class_name'] = 'dir/class_name'; + $cache->check($this, $cacheMap); } } diff --git a/tests/mock/cache.php b/tests/mock/cache.php new file mode 100644 index 0000000000..3bfb31f1be --- /dev/null +++ b/tests/mock/cache.php @@ -0,0 +1,87 @@ +data = $data; + } + + public function get($var_name) + { + if (isset($this->data[$var_name])) + { + return $this->data[$var_name]; + } + + return false; + } + + public function put($var_name, $var, $ttl = 0) + { + $this->data[$var_name] = $var; + } + + public function checkVar(PHPUnit_Framework_Assert $test, $var_name, $data) + { + $test->assertTrue(isset($this->data[$var_name])); + $test->assertEquals($data, $this->data[$var_name]); + } + + public function check(PHPUnit_Framework_Assert $test, $data) + { + $test->assertEquals($data, $this->data); + } + + function load() + { + } + function unload() + { + } + function save() + { + } + function tidy() + { + } + function purge() + { + } + function destroy($var_name, $table = '') + { + } + public function _exists($var_name) + { + } + public function sql_load($query) + { + } + public function sql_save($query, &$query_result, $ttl) + { + } + public function sql_exists($query_id) + { + } + public function sql_fetchrow($query_id) + { + } + public function sql_fetchfield($query_id, $field) + { + } + public function sql_rowseek($rownum, $query_id) + { + } + public function sql_freeresult($query_id) + { + } +} -- cgit v1.2.1