123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * @file
- * Tests for different parts of the ctools plugin system.
- */
- /**
- * Test menu links depending on user permissions.
- */
- class CtoolsPluginsGetInfoTestCase extends DrupalWebTestCase {
- public static function getInfo() {
- return array(
- 'name' => 'Get plugin info',
- 'description' => 'Verify that plugin type definitions can properly set and overide values.',
- 'group' => 'Chaos Tools Suite',
- );
- }
- function setUp() {
- // Additionally enable contact module.
- parent::setUp('ctools', 'ctools_plugin_test');
- }
- protected function assertPluginFunction($module, $type, $id, $function = 'function') {
- $func = ctools_plugin_load_function($module, $type, $id, $function);
- $this->assertTrue(function_exists($func), t('Plugin @plugin of plugin type @module:@type successfully retrieved @retrieved for @function.', array(
- '@plugin' => $id,
- '@module' => $module,
- '@type' => $type,
- '@function' => $function,
- '@retrieved' => $func,
- )));
- }
- protected function assertPluginMissingFunction($module, $type, $id, $function = 'function') {
- $func = ctools_plugin_load_function($module, $type, $id, $function);
- $this->assertEqual($func, NULL, t('Plugin @plugin of plugin type @module:@type for @function with missing function successfully failed.', array(
- '@plugin' => $id,
- '@module' => $module,
- '@type' => $type,
- '@function' => $func,
- )));
- }
- protected function assertPluginClass($module, $type, $id, $class = 'handler') {
- $class_name = ctools_plugin_load_class($module, $type, $id, $class);
- $this->assertTrue(class_exists($class_name), t('Plugin @plugin of plugin type @module:@type successfully retrieved @retrieved for @class.', array(
- '@plugin' => $id,
- '@module' => $module,
- '@type' => $type,
- '@class' => $class,
- '@retrieved' => $class_name,
- )));
- }
- protected function assertPluginMissingClass($module, $type, $id, $class = 'handler') {
- $class_name = ctools_plugin_load_class($module, $type, $id, $class);
- $this->assertEqual($class_name, NULL, t('Plugin @plugin of plugin type @module:@type for @class with missing class successfully failed.', array(
- '@plugin' => $id,
- '@module' => $module,
- '@type' => $type,
- '@class' => $class,
- )));
- }
- /**
- * Test that plugins are loaded correctly.
- */
- function testPluginLoading() {
- ctools_include('plugins');
- $module = 'ctools_plugin_test';
- $type = 'not_cached';
- // Test function retrieval for plugins using different definition methods.
- $this->assertPluginFunction($module, $type, 'plugin_array', 'function');
- $this->assertPluginFunction($module, $type, 'plugin_array2', 'function');
- $this->assertPluginMissingFunction($module, $type, 'plugin_array_dne', 'function');
- $this->assertPluginFunction($module, "big_hook_$type", 'test1', 'function');
- // Test class retrieval for plugins using different definition methods.
- $this->assertPluginClass($module, $type, 'plugin_array', 'handler');
- $this->assertPluginClass($module, $type, 'plugin_array2', 'handler');
- $this->assertPluginMissingClass($module, $type, 'plugin_array_dne', 'handler');
- // TODO Test big hook plugins.
- $type = 'cached';
- // Test function retrieval for plugins using different definition methods.
- $this->assertPluginFunction($module, $type, 'plugin_array', 'function');
- $this->assertPluginFunction($module, $type, 'plugin_array2', 'function');
- $this->assertPluginMissingFunction($module, $type, 'plugin_array_dne', 'function');
- $this->assertPluginFunction($module, "big_hook_$type", 'test1', 'function');
- // Test class retrieval for plugins using different definition methods.
- $this->assertPluginClass($module, $type, 'plugin_array', 'handler');
- $this->assertPluginClass($module, $type, 'plugin_array2', 'handler');
- $this->assertPluginMissingClass($module, $type, 'plugin_array_dne', 'handler');
- // TODO Test big hook plugins.
- }
- }
|