From 50812adcaf31e284785de5abd5252ad6777b30a1 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Wed, 9 Sep 2015 19:28:10 +1000 Subject: [PATCH] No flush abstract classes. No treat as test either. --- tests/PluginTestCase.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/PluginTestCase.php b/tests/PluginTestCase.php index baaa85dd9..5f45e4c2a 100644 --- a/tests/PluginTestCase.php +++ b/tests/PluginTestCase.php @@ -4,7 +4,7 @@ use System\Classes\UpdateManager; use System\Classes\PluginManager; use October\Rain\Database\Model as ActiveRecord; -class PluginTestCase extends Illuminate\Foundation\Testing\TestCase +abstract class PluginTestCase extends Illuminate\Foundation\Testing\TestCase { /** * @var array Cache for storing which plugins have been loaded @@ -160,10 +160,18 @@ class PluginTestCase extends Illuminate\Foundation\Testing\TestCase protected function flushModelEventListeners() { foreach (get_declared_classes() as $class) { + if ($class == 'October\Rain\Database\Pivot') { + continue; + } - if (!is_subclass_of($class, 'October\Rain\Database\Model')) continue; - if (is_subclass_of($class, 'October\Rain\Database\Pivot')) continue; - if ($class == 'October\Rain\Database\Pivot') continue; + $reflectClass = new ReflectionClass($class); + if ( + !$reflectClass->isInstantiable() || + !$reflectClass->isSubclassOf('October\Rain\Database\Model') || + $reflectClass->isSubclassOf('October\Rain\Database\Pivot') + ) { + continue; + } $class::flushEventListeners(); }