From c100468cf232d34b85534277d3fc01ee95f02256 Mon Sep 17 00:00:00 2001 From: Dries Buytaert <dries@buytaert.net> Date: Tue, 6 May 2008 11:21:10 +0000 Subject: [PATCH] - Patch #251473 by webchick, chx, et al: one step closer to running tests in the includes directory. Not working yet. --- includes/xmlrpc.inc.test | 4 +- modules/simpletest/drupal_test_suite.php | 3 + modules/simpletest/drupal_unit_test_case.php | 97 -------------------- 3 files changed, 5 insertions(+), 99 deletions(-) delete mode 100644 modules/simpletest/drupal_unit_test_case.php diff --git a/includes/xmlrpc.inc.test b/includes/xmlrpc.inc.test index 49bab141ad92..ada73f8f2e75 100644 --- a/includes/xmlrpc.inc.test +++ b/includes/xmlrpc.inc.test @@ -1,7 +1,7 @@ <?php // $Id$ -class XMLRPCValidator1Test extends DrupalUnitTestCase { +class XMLRPCValidator1Test extends DrupalWebTestCase { function getInfo() { return array('name' => t('XML-RPC validator1'), 'description' => t('See !validator-link. note: simpletest_xmlrpc.module must be enabled', array('!validator-link' => l('the xmlrpc validator1 specification', 'http://www.xmlrpc.com/validator1Docs'))), @@ -114,4 +114,4 @@ class XMLRPCValidator1Test extends DrupalUnitTestCase { $this->assertEqual($a_l_res, $a_r_res, 'multicall equals result'); } } -?> \ No newline at end of file +?> diff --git a/modules/simpletest/drupal_test_suite.php b/modules/simpletest/drupal_test_suite.php index 6779d882bac3..9aa428391cc4 100644 --- a/modules/simpletest/drupal_test_suite.php +++ b/modules/simpletest/drupal_test_suite.php @@ -121,6 +121,9 @@ function getFiles() { $files[] = $test; } } + foreach (file_scan_directory('includes', '\.test$') as $file) { + $files[] = $file->filename; + } return $files; } diff --git a/modules/simpletest/drupal_unit_test_case.php b/modules/simpletest/drupal_unit_test_case.php deleted file mode 100644 index 7a780709505e..000000000000 --- a/modules/simpletest/drupal_unit_test_case.php +++ /dev/null @@ -1,97 +0,0 @@ -<?php -// $Id$ - -/** - * Test case Drupal unit tests. - */ -class DrupalUnitTestCase extends UnitTestCase { - protected $created_temp_environment = FALSE; - protected $db_prefix_original; - protected $original_file_directory; - - /** - * Retrieve the test information from getInfo(). - * - * @param string $label Name of the test to be used by the SimpleTest library. - */ - function __construct($label = NULL) { - if (!$label) { - if (method_exists($this, 'getInfo')) { - $info = $this->getInfo(); - $label = $info['name']; - } - } - parent::__construct($label); - } - - /** - * Generates a random database prefix and runs the install scripts on the prefixed database. - * After installation many caches are flushed and the internal browser is setup so that the page - * requests will run on the new prefix. A temporary files directory is created with the same name - * as the database prefix. - * - * @param ... List modules to enable. - */ - public function setUp() { - parent::setUp(); - } - - /** - * Create a temporary environment for tests to take place in so that changes - * will be reverted and other tests won't be affected. - * - * Generates a random database prefix and runs the install scripts on the prefixed database. - * After installation many caches are flushed and the internal browser is setup so that the page - * requests will run on the new prefix. A temporary files directory is created with the same name - * as the database prefix. - */ - protected function createTempEnvironment() { - global $db_prefix, $simpletest_ua_key; - $this->created_temp_environment = TRUE; - if ($simpletest_ua_key) { - $this->db_prefix_original = $db_prefix; - $clean_url_original = variable_get('clean_url', 0); - $db_prefix = 'simpletest'. mt_rand(1000, 1000000); - include_once './includes/install.inc'; - drupal_install_system(); - $modules = array_unique(array_merge(func_get_args(), drupal_verify_profile('default', 'en'))); - drupal_install_modules($modules); - $this->_modules = drupal_map_assoc($modules); - $this->_modules['system'] = 'system'; - $task = 'profile'; - default_profile_tasks($task, ''); - menu_rebuild(); - actions_synchronize(); - _drupal_flush_css_js(); - variable_set('install_profile', 'default'); - variable_set('install_task', 'profile-finished'); - variable_set('clean_url', $clean_url_original); - - // Use temporary files directory with the same prefix as database. - $this->original_file_directory = file_directory_path(); - variable_set('file_directory_path', file_directory_path() .'/'. $db_prefix); - file_check_directory(file_directory_path(), TRUE); // Create the files directory. - } - } - - /** - * Delete created files and temporary files directory, delete the tables created by setUp(), - * and reset the database prefix. - */ - public function tearDown() { - global $db_prefix; - if ($this->created_temp_environment && preg_match('/simpletest\d+/', $db_prefix)) { - // Delete temporary files directory and reset files directory path. - simpletest_clean_temporary_directory(file_directory_path()); - variable_set('file_directory_path', $this->original_file_directory); - - $schema = drupal_get_schema(NULL, TRUE); - $ret = array(); - foreach ($schema as $name => $table) { - db_drop_table($ret, $name); - } - $db_prefix = $this->db_prefix_original; - } - parent::tearDown(); - } -} -- GitLab