Browse Source

Set up App test namespace for PHPStan autoloading.

dereuromark 8 years ago
parent
commit
988a4caa12
34 changed files with 69 additions and 43 deletions
  1. 3 2
      composer.json
  2. 1 0
      src/Utility/Language.php
  3. 5 0
      src/Utility/Number.php
  4. 1 0
      src/View/Helper/FormatHelper.php
  5. 7 7
      src/View/Helper/TimeHelper.php
  6. 1 1
      tests/TestApp/Auth/ComplexPasswordHasher.php
  7. 8 0
      tests/TestApp/Controller/AppController.php
  8. 1 1
      tests/TestApp/Controller/CommonComponentTestController.php
  9. 1 1
      tests/TestApp/Controller/Component/AppleComponent.php
  10. 1 1
      tests/TestApp/Controller/Component/BananaComponent.php
  11. 1 1
      tests/TestApp/Controller/Component/TestComponent.php
  12. 1 1
      tests/TestApp/Controller/MobileComponentTestController.php
  13. 1 1
      tests/TestApp/Controller/UrlComponentTestController.php
  14. 1 1
      tests/TestApp/Mailer/TestEmail.php
  15. 1 1
      tests/TestApp/Model/Entity/BitmaskedComment.php
  16. 1 1
      tests/TestApp/Model/Entity/SluggedArticle.php
  17. 1 1
      tests/TestApp/Model/Table/AuthorsTable.php
  18. 1 1
      tests/TestApp/Model/Table/BitmaskedCommentsTable.php
  19. 1 1
      tests/TestApp/Model/Table/JsonableCommentsTable.php
  20. 1 1
      tests/TestApp/Model/Table/PostsTable.php
  21. 1 1
      tests/TestApp/Model/Table/ResetCommentsTable.php
  22. 1 1
      tests/TestApp/Model/Table/RolesTable.php
  23. 1 1
      tests/TestApp/Model/Table/ToolsUsersTable.php
  24. 1 1
      tests/TestApp/View/Helper/TimelineHelper.php
  25. 2 2
      tests/TestCase/Controller/Component/CommonComponentTest.php
  26. 2 2
      tests/TestCase/Controller/Component/MobileComponentTest.php
  27. 2 2
      tests/TestCase/Controller/Component/UrlComponentTest.php
  28. 2 2
      tests/TestCase/Mailer/EmailTest.php
  29. 1 1
      tests/TestCase/Model/Behavior/BitmaskedBehaviorTest.php
  30. 1 1
      tests/TestCase/Model/Behavior/PasswordableBehaviorTest.php
  31. 3 3
      tests/TestCase/Model/Behavior/ResetBehaviorTest.php
  32. 1 1
      tests/TestCase/Model/Behavior/SluggedBehaviorTest.php
  33. 2 2
      tests/TestCase/View/Helper/TimelineHelperTest.php
  34. 10 0
      tests/phpstan.neon

+ 3 - 2
composer.json

@@ -20,7 +20,8 @@
 	"require-dev":{
 		"mobiledetect/mobiledetectlib": "2.*",
 		"fig-r/psr2r-sniffer": "dev-develop",
-		"squizlabs/php_codesniffer": "^3.0.0@dev"
+		"squizlabs/php_codesniffer": "^3.0.0@dev",
+		"yangqi/htmldom": "^1.0"
 	},
 	"autoload": {
 		"psr-4": {
@@ -31,7 +32,7 @@
 		"psr-4": {
 			"Tools\\Test\\": "tests",
 			"Cake\\Test\\": "vendor/cakephp/cakephp/tests",
-			"TestApp\\": "tests/TestApp"
+			"App\\": "tests/TestApp"
 		}
 	},
 	"suggest": {

+ 1 - 0
src/Utility/Language.php

@@ -112,6 +112,7 @@ class Language {
 	protected static function _matchLanguage($a, $b) {
 		$a = explode('-', $a);
 		$b = explode('-', $b);
+
 		for ($i = 0, $n = min(count($a), count($b)); $i < $n; $i++) {
 			if ($a[$i] !== $b[$i]) {
 				break;

+ 5 - 0
src/Utility/Number.php

@@ -13,6 +13,11 @@ use Cake\I18n\Number as CakeNumber;
  */
 class Number extends CakeNumber {
 
+	/**
+	 * @var array
+	 */
+	protected static $_currencies = [];
+
 	protected static $_currency = 'EUR';
 
 	protected static $_symbolRight = '€';

+ 1 - 0
src/View/Helper/FormatHelper.php

@@ -107,6 +107,7 @@ class FormatHelper extends Helper {
 	 * @return string
 	 */
 	public function neighbors(array $neighbors, $field, array $options = []) {
+		$alias = null;
 		if (mb_strpos($field, '.') !== false) {
 			$fieldArray = explode('.', $field, 2);
 			$alias = $fieldArray[0];

+ 7 - 7
src/View/Helper/TimeHelper.php

@@ -6,6 +6,7 @@ use Cake\Core\App;
 use Cake\View\Helper\TimeHelper as CakeTimeHelper;
 use Cake\View\View;
 use DateTime;
+use RuntimeException;
 
 /**
  * Wrapper for TimeHelper and TimeLib
@@ -54,11 +55,11 @@ class TimeHelper extends CakeTimeHelper {
 		$config = $this->_config;
 
 		$engineClass = App::className($config['engine'], 'Utility');
-		if ($engineClass) {
-			$this->_engine = new $engineClass($config);
-		} else {
-			throw new Exception(sprintf('Class for %s could not be found', $config['engine']));
+		if (!$engineClass) {
+			throw new RuntimeException(sprintf('Class for %s could not be found', $config['engine']));
 		}
+
+		$this->_engine = new $engineClass($config);
 	}
 
 	/**
@@ -94,8 +95,7 @@ class TimeHelper extends CakeTimeHelper {
 	 *
 	 * @param string|int|null $date
 	 * @param string $default
-	 * @return int age on success, mixed $default otherwise
-	 * @internal param date $string
+	 * @return string Age on success, $default otherwise
 	 */
 	public function userAge($date = null, $default = '') {
 		if ($date === null) {
@@ -103,7 +103,7 @@ class TimeHelper extends CakeTimeHelper {
 		}
 		$age = $this->age($date, null);
 		if ($age >= 1 && $age <= 99) {
-			return $age;
+			return (string)$age;
 		}
 		return $default;
 	}

+ 1 - 1
tests/TestApp/Auth/ComplexPasswordHasher.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Auth;
+namespace App\Auth;
 
 use Cake\Auth\DefaultPasswordHasher;
 

+ 8 - 0
tests/TestApp/Controller/AppController.php

@@ -0,0 +1,8 @@
+<?php
+
+namespace App\Controller;
+
+use Cake\Controller\Controller;
+
+class AppController extends Controller {
+}

+ 1 - 1
tests/TestApp/Controller/CommonComponentTestController.php

@@ -1,5 +1,5 @@
 <?php
-namespace TestApp\Controller;
+namespace App\Controller;
 
 use Tools\Controller\Controller;
 

+ 1 - 1
tests/TestApp/Controller/Component/AppleComponent.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Controller\Component;
+namespace App\Controller\Component;
 
 use Cake\Event\Event;
 use Shim\Controller\Component\Component;

+ 1 - 1
tests/TestApp/Controller/Component/BananaComponent.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Controller\Component;
+namespace App\Controller\Component;
 
 use Cake\Event\Event;
 use Shim\Controller\Component\Component;

+ 1 - 1
tests/TestApp/Controller/Component/TestComponent.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Controller\Component;
+namespace App\Controller\Component;
 
 use Cake\Event\Event;
 use Shim\Controller\Component\Component;

+ 1 - 1
tests/TestApp/Controller/MobileComponentTestController.php

@@ -1,5 +1,5 @@
 <?php
-namespace TestApp\Controller;
+namespace App\Controller;
 
 use Tools\Controller\Controller;
 

+ 1 - 1
tests/TestApp/Controller/UrlComponentTestController.php

@@ -1,5 +1,5 @@
 <?php
-namespace TestApp\Controller;
+namespace App\Controller;
 
 use Tools\Controller\Controller;
 

+ 1 - 1
tests/TestApp/Mailer/TestEmail.php

@@ -1,5 +1,5 @@
 <?php
-namespace TestApp\Mailer;
+namespace App\Mailer;
 
 use Tools\Mailer\Email;
 

+ 1 - 1
tests/TestApp/Model/Entity/BitmaskedComment.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Entity;
+namespace App\Model\Entity;
 
 use Tools\Model\Entity\Entity;
 

+ 1 - 1
tests/TestApp/Model/Entity/SluggedArticle.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Entity;
+namespace App\Model\Entity;
 
 use Cake\ORM\Entity;
 

+ 1 - 1
tests/TestApp/Model/Table/AuthorsTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Tools\Model\Table\Table;
 

+ 1 - 1
tests/TestApp/Model/Table/BitmaskedCommentsTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Tools\Model\Table\Table;
 

+ 1 - 1
tests/TestApp/Model/Table/JsonableCommentsTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Tools\Model\Table\Table;
 

+ 1 - 1
tests/TestApp/Model/Table/PostsTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Tools\Model\Table\Table;
 

+ 1 - 1
tests/TestApp/Model/Table/ResetCommentsTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Cake\ORM\Entity;
 use Tools\Model\Table\Table;

+ 1 - 1
tests/TestApp/Model/Table/RolesTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Tools\Model\Table\Table;
 

+ 1 - 1
tests/TestApp/Model/Table/ToolsUsersTable.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace TestApp\Model\Table;
+namespace App\Model\Table;
 
 use Tools\Model\Table\Table;
 

+ 1 - 1
tests/TestApp/View/Helper/TimelineHelper.php

@@ -1,5 +1,5 @@
 <?php
-namespace TestApp\View\Helper;
+namespace App\View\Helper;
 
 use Tools\View\Helper\TimelineHelper as ToolsTimelineHelper;
 

+ 2 - 2
tests/TestCase/Controller/Component/CommonComponentTest.php

@@ -6,7 +6,7 @@ use Cake\Controller\Controller;
 use Cake\Core\Configure;
 use Cake\Network\Request;
 use Cake\Network\Session;
-use TestApp\Controller\CommonComponentTestController;
+use App\Controller\CommonComponentTestController;
 use Tools\TestSuite\TestCase;
 
 /**
@@ -14,7 +14,7 @@ use Tools\TestSuite\TestCase;
 class CommonComponentTest extends TestCase {
 
 	/**
-	 * @var \TestApp\Controller\CommonComponentTestController
+	 * @var \App\Controller\CommonComponentTestController
 	 */
 	public $Controller;
 

+ 2 - 2
tests/TestCase/Controller/Component/MobileComponentTest.php

@@ -6,7 +6,7 @@ use Cake\Core\Configure;
 use Cake\Event\Event;
 use Cake\Network\Request;
 use Detection\MobileDetect;
-use TestApp\Controller\MobileComponentTestController;
+use App\Controller\MobileComponentTestController;
 use Tools\TestSuite\TestCase;
 
 /**
@@ -25,7 +25,7 @@ class MobileComponentTest extends TestCase {
 	public $event;
 
 	/**
-	 * @var \TestApp\Controller\MobileComponentTestController
+	 * @var \App\Controller\MobileComponentTestController
 	 */
 	public $Controller;
 

+ 2 - 2
tests/TestCase/Controller/Component/UrlComponentTest.php

@@ -7,7 +7,7 @@ use Cake\Core\Plugin;
 use Cake\Event\Event;
 use Cake\Network\Request;
 use Cake\Routing\Router;
-use TestApp\Controller\UrlComponentTestController;
+use App\Controller\UrlComponentTestController;
 use Tools\TestSuite\TestCase;
 
 /**
@@ -20,7 +20,7 @@ class UrlComponentTest extends TestCase {
 	public $event;
 
 	/**
-	 * @var \TestApp\Controller\UrlComponentTestController
+	 * @var \App\Controller\UrlComponentTestController
 	 */
 	public $Controller;
 

+ 2 - 2
tests/TestCase/Mailer/EmailTest.php

@@ -5,7 +5,7 @@ namespace Tools\Test\TestCase\Mailer;
 use Cake\Core\Configure;
 use Cake\Core\Plugin;
 use Cake\Log\Log;
-use TestApp\Mailer\TestEmail;
+use App\Mailer\TestEmail;
 use Tools\Mailer\Email;
 use Tools\TestSuite\TestCase;
 
@@ -15,7 +15,7 @@ use Tools\TestSuite\TestCase;
 class EmailTest extends TestCase {
 
 	/**
-	 * @var \TestApp\Mailer\TestEmail
+	 * @var \App\Mailer\TestEmail
 	 */
 	protected $Email;
 

+ 1 - 1
tests/TestCase/Model/Behavior/BitmaskedBehaviorTest.php

@@ -4,7 +4,7 @@ namespace Tools\Test\TestCase\Model\Behavior;
 
 use Cake\Core\Configure;
 use Cake\ORM\TableRegistry;
-use TestApp\Model\Entity\BitmaskedComment;
+use App\Model\Entity\BitmaskedComment;
 use Tools\TestSuite\TestCase;
 
 class BitmaskedBehaviorTest extends TestCase {

+ 1 - 1
tests/TestCase/Model/Behavior/PasswordableBehaviorTest.php

@@ -19,7 +19,7 @@ class PasswordableBehaviorTest extends TestCase {
 	];
 
 	/**
-	 * @var \TestApp\Model\Table\ToolsUsersTable
+	 * @var \App\Model\Table\ToolsUsersTable
 	 */
 	public $Users;
 

+ 3 - 3
tests/TestCase/Model/Behavior/ResetBehaviorTest.php

@@ -142,7 +142,7 @@ class ResetBehaviorTest extends TestCase {
 	 */
 	public function testResetWithStaticCallback() {
 		$this->Table->removeBehavior('Reset');
-		$this->Table->addBehavior('Tools.Reset', ['callback' => 'TestApp\Model\Table\ResetCommentsTable::customStaticCallback']);
+		$this->Table->addBehavior('Tools.Reset', ['callback' => 'App\Model\Table\ResetCommentsTable::customStaticCallback']);
 
 		$x = $this->Table->find('first', ['conditions' => ['id' => 6]]);
 		$this->assertEquals('Second Comment for Second Article', $x['comment']);
@@ -165,7 +165,7 @@ class ResetBehaviorTest extends TestCase {
 		$this->Table->addBehavior('Tools.Reset', [
 			'fields' => ['id'],
 			'updateFields' => ['comment'],
-			'callback' => 'TestApp\Model\Table\ResetCommentsTable::fieldsCallback']);
+			'callback' => 'App\Model\Table\ResetCommentsTable::fieldsCallback']);
 
 		$x = $this->Table->find('first', ['conditions' => ['id' => 6]]);
 		$this->assertEquals('Second Comment for Second Article', $x['comment']);
@@ -188,7 +188,7 @@ class ResetBehaviorTest extends TestCase {
 		$this->Table->addBehavior('Tools.Reset', [
 			'fields' => ['id'],
 			'updateFields' => ['id'],
-			'callback' => 'TestApp\Model\Table\ResetCommentsTable::fieldsCallbackAuto']);
+			'callback' => 'App\Model\Table\ResetCommentsTable::fieldsCallbackAuto']);
 
 		$x = $this->Table->find('first', ['conditions' => ['id' => 6]]);
 		$this->assertEquals('Second Comment for Second Article', $x['comment']);

+ 1 - 1
tests/TestCase/Model/Behavior/SluggedBehaviorTest.php

@@ -602,7 +602,7 @@ class SluggedBehaviorTest extends TestCase {
 	 */
 	public function testSlugGenerationWithVirualField() {
 		$this->articles->removeBehavior('Slugged');
-		$this->articles->entityClass('\TestApp\Model\Entity\SluggedArticle');
+		$this->articles->entityClass('\App\Model\Entity\SluggedArticle');
 		$this->articles->addBehavior('Tools.Slugged', [
 			'label' => [
 				'title',

+ 2 - 2
tests/TestCase/View/Helper/TimelineHelperTest.php

@@ -4,7 +4,7 @@ namespace Tools\Test\TestCase\View\Helper;
 
 use Cake\View\View;
 use DateTime;
-use TestApp\View\Helper\TimelineHelper;
+use App\View\Helper\TimelineHelper;
 use Tools\TestSuite\TestCase;
 
 /**
@@ -13,7 +13,7 @@ use Tools\TestSuite\TestCase;
 class TimelineHelperTest extends TestCase {
 
 	/**
-	 * @var \Tools\View\Helper\TimelineHelper|\TestApp\View\Helper\TimelineHelper
+	 * @var \Tools\View\Helper\TimelineHelper|\App\View\Helper\TimelineHelper
 	 */
 	public $Timeline;
 

+ 10 - 0
tests/phpstan.neon

@@ -0,0 +1,10 @@
+parameters:
+	autoload_files:
+		- %rootDir%/../../../tests/bootstrap.php
+	excludes_analyse:
+		- %rootDir%/../../../src/TestSuite/*
+		- %rootDir%/../../../src/View/Helper/TreeHelper
+	ignoreErrors:
+		- '#Call to an undefined method Cake\\Controller\\Component\\FlashComponent::success\(\)#'
+		- '#Tools\\Utility\\Mime::\_\_construct\(\) does not call parent constructor from Cake\\Http\\Response#'
+		- '#Undefined variable: \$i#'