From af11d7b2eba766017a8b34df67b95a41bcb61f66 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Wed, 24 Apr 2013 10:51:29 +0100
Subject: [PATCH] Issue #1974266 by ParisLiakos: Register test module classes
 to PHPunit.

---
 .../Tests/PhpUnitAutoloaderTest.php           | 32 +++++++++++++++++++
 .../phpunit_test/PhpUnitTestDummyClass.php    | 11 +++++++
 core/tests/bootstrap.php                      |  7 ++++
 3 files changed, 50 insertions(+)
 create mode 100644 core/modules/simpletest/tests/Drupal/simpletest/Tests/PhpUnitAutoloaderTest.php
 create mode 100644 core/modules/simpletest/tests/modules/phpunit_test/lib/Drupal/phpunit_test/PhpUnitTestDummyClass.php

diff --git a/core/modules/simpletest/tests/Drupal/simpletest/Tests/PhpUnitAutoloaderTest.php b/core/modules/simpletest/tests/Drupal/simpletest/Tests/PhpUnitAutoloaderTest.php
new file mode 100644
index 000000000000..8e2b7f505caf
--- /dev/null
+++ b/core/modules/simpletest/tests/Drupal/simpletest/Tests/PhpUnitAutoloaderTest.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\simpletest\Tests\PhpUnitAutoloaderTest.
+ */
+
+namespace Drupal\simpletest\Tests;
+
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * Test PHPUnit autoloader works correctly.
+ */
+class PhpUnitAutoloaderTest extends UnitTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name' => 'PHPUnit autoloader',
+      'description' => 'Test that classes are correctly loaded during PHPUnit initialization.',
+      'group' => 'Simpletest',
+    );
+  }
+
+  /**
+   * Test loading of classes provided by test sub modules.
+   */
+  public function testPhpUnitTestClassesLoading() {
+    $this->assertTrue(class_exists('\Drupal\phpunit_test\PhpUnitTestDummyClass'), 'Class provided by test module was not autoloaded.');
+  }
+
+}
diff --git a/core/modules/simpletest/tests/modules/phpunit_test/lib/Drupal/phpunit_test/PhpUnitTestDummyClass.php b/core/modules/simpletest/tests/modules/phpunit_test/lib/Drupal/phpunit_test/PhpUnitTestDummyClass.php
new file mode 100644
index 000000000000..27e99bc7b9d5
--- /dev/null
+++ b/core/modules/simpletest/tests/modules/phpunit_test/lib/Drupal/phpunit_test/PhpUnitTestDummyClass.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\phpunit_test\PhpUnitTestDummyClass.
+ */
+
+namespace Drupal\phpunit_test;
+
+class PhpUnitTestDummyClass {
+}
diff --git a/core/tests/bootstrap.php b/core/tests/bootstrap.php
index 7f8441e46eb9..57e3da621c61 100644
--- a/core/tests/bootstrap.php
+++ b/core/tests/bootstrap.php
@@ -8,6 +8,13 @@
 
 foreach (scandir(__DIR__ . "/../modules") as $module) {
   $loader->add('Drupal\\' . $module, __DIR__ . "/../modules/" . $module . "/lib");
+  // Add test module classes.
+  $test_modules_dir = __DIR__ . "/../modules/$module/tests/modules";
+  if (is_dir($test_modules_dir)) {
+    foreach (scandir($test_modules_dir) as $test_module) {
+      $loader->add('Drupal\\' . $test_module, $test_modules_dir . '/' . $test_module . '/lib');
+    }
+  }
 }
 
 require __DIR__ . "/../../core/lib/Drupal.php";
-- 
GitLab