You are here

function simpletest_test_get_all_classes in SimpleTest 6.2

4 calls to simpletest_test_get_all_classes()
simpletest_result_form in ./simpletest.pages.inc
Test results form for $test_id.
simpletest_test_form_submit in ./simpletest.pages.inc
Run selected tests.
simpletest_test_get_all in ./simpletest.module
Get a list of all of the tests provided by the system.
_simpletest_batch_operation in ./simpletest.module
Batch operation callback.

File

./simpletest.module, line 481
Provides testing functionality.

Code

function simpletest_test_get_all_classes() {

  // Must load DrupalWebTestCase before loading any other test classes which
  // will extend it.
  require_once drupal_get_path('module', 'simpletest') . '/drupal_web_test_case.php';
  $classes = array();
  $files = module_rebuild_cache();
  foreach ($files as $file) {
    $directory = dirname($file->filename);
    $test_files = file_scan_directory($directory, '\\.test$', array(
      '.',
      '..',
      'CVS',
    ), FALSE, FALSE);
    $test_files += file_scan_directory($directory . '/tests', '\\.test$');
    foreach ($test_files as $test_file) {
      $pre = get_declared_classes();
      require_once $test_file->filename;
      $post = get_declared_classes();
      $classes_new = array_values(array_diff($post, $pre));
      foreach ($classes_new as $class) {
        $classes[$class] = (object) array(
          'file' => $test_file->filename,
          'class' => $class,
        );
      }
    }
  }
  return $classes;
}