Add Civi_AllTests
authorTim Otten <totten@civicrm.org>
Wed, 2 Apr 2014 04:40:29 +0000 (21:40 -0700)
committerTim Otten <totten@civicrm.org>
Sun, 6 Apr 2014 04:26:28 +0000 (21:26 -0700)
tests/phpunit/Civi/AllTests.php [new file with mode: 0644]
tests/phpunit/CiviTest/CiviTestSuite.php

diff --git a/tests/phpunit/Civi/AllTests.php b/tests/phpunit/Civi/AllTests.php
new file mode 100644 (file)
index 0000000..14997af
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+// vim: set si ai expandtab tabstop=4 shiftwidth=4 softtabstop=4:
+
+/**
+ *  File for the CRM_AllTests class
+ *
+ *  (PHP 5)
+ *
+ *   @author Walt Haas <walt@dharmatech.org> (801) 534-1262
+ *   @copyright Copyright CiviCRM LLC (C) 2009
+ *   @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html
+ *              GNU Affero General Public License version 3
+ *   @version   $Id: AllTests.php 40328 2012-05-11 23:06:13Z allen $
+ *   @package   CiviCRM
+ *
+ *   This file is part of CiviCRM
+ *
+ *   CiviCRM is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU Affero General Public License
+ *   as published by the Free Software Foundation; either version 3 of
+ *   the License, or (at your option) any later version.
+ *
+ *   CiviCRM is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU Affero General Public License for more details.
+ *
+ *   You should have received a copy of the GNU Affero General Public
+ *   License along with this program.  If not, see
+ *   <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ *  Include parent class definition
+ */
+require_once 'CiviTest/CiviTestSuite.php';
+
+/**
+ *  Class containing all CRM test suites
+ *
+ *  @package   CiviCRM
+ */
+class Civi_AllTests extends CiviTestSuite {
+  private static $instance = NULL;
+
+  /**
+   *
+   */
+  private static function getInstance() {
+    if (is_null(self::$instance)) {
+      self::$instance = new self;
+    }
+    return self::$instance;
+  }
+
+  /**
+   *  Build test suite dynamically
+   */
+  public static function suite() {
+    $inst = self::getInstance();
+    return $inst->implSuite(__FILE__);
+  }
+}
+// class AllTests
+
+// -- set Emacs parameters --
+// Local variables:
+// mode: php;
+// tab-width: 4
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+
index f84ee108c96d1c801ef3e6d3009d332204c9e062..e6ad1433023b5450de9d962d40660a81e7040935 100644 (file)
@@ -191,7 +191,7 @@ class CiviTestSuite extends PHPUnit_Framework_TestSuite {
         foreach (array_diff($newClassNames,
           $oldClassNames
                  ) as $name) {
-          if (strpos($fileInfo->getRealPath(), str_replace('_', '/', $name) . ".php") !== FALSE) {
+          if (strpos($fileInfo->getRealPath(), strtr($name, '_\\', '//') . ".php") !== FALSE) {
             if (preg_match('/Test$/', $name)) {
               $addTestSuites[] = $name;
             }