aboutsummaryrefslogtreecommitdiff
path: root/tests/Actions/ActionImplementationTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Actions/ActionImplementationTest.php')
-rw-r--r--tests/Actions/ActionImplementationTest.php106
1 files changed, 56 insertions, 50 deletions
diff --git a/tests/Actions/ActionImplementationTest.php b/tests/Actions/ActionImplementationTest.php
index 0caf6d80..3f063682 100644
--- a/tests/Actions/ActionImplementationTest.php
+++ b/tests/Actions/ActionImplementationTest.php
@@ -5,54 +5,60 @@ namespace RssBridge\Tests\Actions;
use ActionInterface;
use PHPUnit\Framework\TestCase;
-class ActionImplementationTest extends TestCase {
- private $class;
- private $obj;
-
- /**
- * @dataProvider dataActionsProvider
- */
- public function testClassName($path) {
- $this->setAction($path);
- $this->assertTrue($this->class === ucfirst($this->class), 'class name must start with uppercase character');
- $this->assertEquals(0, substr_count($this->class, ' '), 'class name must not contain spaces');
- $this->assertStringEndsWith('Action', $this->class, 'class name must end with "Action"');
- }
-
- /**
- * @dataProvider dataActionsProvider
- */
- public function testClassType($path) {
- $this->setAction($path);
- $this->assertInstanceOf(ActionInterface::class, $this->obj);
- }
-
- /**
- * @dataProvider dataActionsProvider
- */
- public function testVisibleMethods($path) {
- $allowedMethods = get_class_methods(ActionInterface::class);
- sort($allowedMethods);
-
- $this->setAction($path);
-
- $methods = get_class_methods($this->obj);
- sort($methods);
-
- $this->assertEquals($allowedMethods, $methods);
- }
-
- public function dataActionsProvider() {
- $actions = array();
- foreach (glob(PATH_LIB_ACTIONS . '*.php') as $path) {
- $actions[basename($path, '.php')] = array($path);
- }
- return $actions;
- }
-
- private function setAction($path) {
- $this->class = '\\' . basename($path, '.php');
- $this->assertTrue(class_exists($this->class), 'class ' . $this->class . ' doesn\'t exist');
- $this->obj = new $this->class();
- }
+class ActionImplementationTest extends TestCase
+{
+ private $class;
+ private $obj;
+
+ /**
+ * @dataProvider dataActionsProvider
+ */
+ public function testClassName($path)
+ {
+ $this->setAction($path);
+ $this->assertTrue($this->class === ucfirst($this->class), 'class name must start with uppercase character');
+ $this->assertEquals(0, substr_count($this->class, ' '), 'class name must not contain spaces');
+ $this->assertStringEndsWith('Action', $this->class, 'class name must end with "Action"');
+ }
+
+ /**
+ * @dataProvider dataActionsProvider
+ */
+ public function testClassType($path)
+ {
+ $this->setAction($path);
+ $this->assertInstanceOf(ActionInterface::class, $this->obj);
+ }
+
+ /**
+ * @dataProvider dataActionsProvider
+ */
+ public function testVisibleMethods($path)
+ {
+ $allowedMethods = get_class_methods(ActionInterface::class);
+ sort($allowedMethods);
+
+ $this->setAction($path);
+
+ $methods = get_class_methods($this->obj);
+ sort($methods);
+
+ $this->assertEquals($allowedMethods, $methods);
+ }
+
+ public function dataActionsProvider()
+ {
+ $actions = [];
+ foreach (glob(PATH_LIB_ACTIONS . '*.php') as $path) {
+ $actions[basename($path, '.php')] = [$path];
+ }
+ return $actions;
+ }
+
+ private function setAction($path)
+ {
+ $this->class = '\\' . basename($path, '.php');
+ $this->assertTrue(class_exists($this->class), 'class ' . $this->class . ' doesn\'t exist');
+ $this->obj = new $this->class();
+ }
}