Skip to content

Commit

Permalink
[TASK] Cleanup StringValidatorTest
Browse files Browse the repository at this point in the history
- Replace eval with anonymous classes
- Avoid mocks if not necessary

Releases: master
Resolves: #83483
Change-Id: Id7fca4bbe43d907378031ce7b8f35ed4a364bcc7
Reviewed-on: https://review.typo3.org/55278
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Reiner Teubner <reiner.teubner@me.com>
Tested-by: Reiner Teubner <reiner.teubner@me.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
  • Loading branch information
alexanderschnitzler authored and lolli42 committed Jan 8, 2018
1 parent c7bfc16 commit 45f04e5
Showing 1 changed file with 25 additions and 25 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace TYPO3\CMS\Extbase\Tests\Unit\Validation\Validator;

/* *
Expand All @@ -21,55 +22,54 @@
* The TYPO3 project - inspiring people to share! *
* */

use TYPO3\CMS\Extbase\Validation\Validator\StringValidator;

/**
* Testcase for the string length validator
*
* @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
*/
class StringValidatorTest extends \TYPO3\CMS\Extbase\Tests\Unit\Validation\Validator\AbstractValidatorTestcase
class StringValidatorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
{
/**
* @var string
*/
protected $validatorClassName = \TYPO3\CMS\Extbase\Validation\Validator\StringValidator::class;

public function setup()
{
$this->validator = $this->getMockBuilder($this->validatorClassName)
->setMethods(['translateErrorMessage'])
->getMock();
}

/**
* @test
*/
public function stringValidatorShouldValidateString()
{
$this->assertFalse($this->validator->validate('Hello World')->hasErrors());
$this->assertFalse((new StringValidator())->validate('Hello World')->hasErrors());
}

/**
* @test
*/
public function stringValidatorShouldReturnErrorIfNumberIsGiven()
{
$this->assertTrue($this->validator->validate(42)->hasErrors());
/** @var StringValidator $validator */
$validator = $this->getMockBuilder(StringValidator::class)
->setMethods(['translateErrorMessage'])
->getMock();

$this->assertTrue($validator->validate(42)->hasErrors());
}

/**
* @test
*/
public function stringValidatorShouldReturnErrorIfObjectWithToStringMethodStringIsGiven()
{
$className = $this->getUniqueId('TestClass');
eval('
class ' . $className . ' {
public function __toString() {
return "ASDF";
}
}
');
$object = new $className();
$this->assertTrue($this->validator->validate($object)->hasErrors());
/** @var StringValidator $validator */
$validator = $this->getMockBuilder(StringValidator::class)
->setMethods(['translateErrorMessage'])
->getMock();

$object = new class() {
/** @return string */
public function __toString()
{
return 'ASDF';
}
};

$this->assertTrue($validator->validate($object)->hasErrors());
}
}

0 comments on commit 45f04e5

Please sign in to comment.