You are here

class TypeValidatorTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php \Symfony\Component\Validator\Tests\Constraints\TypeValidatorTest

Hierarchy

Expanded class hierarchy of TypeValidatorTest

File

vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php, line 18

Namespace

Symfony\Component\Validator\Tests\Constraints
View source
class TypeValidatorTest extends AbstractConstraintValidatorTest {
  protected static $file;
  protected function getApiVersion() {
    return Validation::API_VERSION_2_5;
  }
  protected function createValidator() {
    return new TypeValidator();
  }
  public function testNullIsValid() {
    $constraint = new Type(array(
      'type' => 'integer',
    ));
    $this->validator
      ->validate(null, $constraint);
    $this
      ->assertNoViolation();
  }
  public function testEmptyIsValidIfString() {
    $constraint = new Type(array(
      'type' => 'string',
    ));
    $this->validator
      ->validate('', $constraint);
    $this
      ->assertNoViolation();
  }
  public function testEmptyIsInvalidIfNoString() {
    $constraint = new Type(array(
      'type' => 'integer',
      'message' => 'myMessage',
    ));
    $this->validator
      ->validate('', $constraint);
    $this
      ->buildViolation('myMessage')
      ->setParameter('{{ value }}', '""')
      ->setParameter('{{ type }}', 'integer')
      ->assertRaised();
  }

  /**
   * @dataProvider getValidValues
   */
  public function testValidValues($value, $type) {
    $constraint = new Type(array(
      'type' => $type,
    ));
    $this->validator
      ->validate($value, $constraint);
    $this
      ->assertNoViolation();
  }
  public function getValidValues() {
    $object = new \stdClass();
    $file = $this
      ->createFile();
    return array(
      array(
        true,
        'Boolean',
      ),
      array(
        false,
        'Boolean',
      ),
      array(
        true,
        'boolean',
      ),
      array(
        false,
        'boolean',
      ),
      array(
        true,
        'bool',
      ),
      array(
        false,
        'bool',
      ),
      array(
        0,
        'numeric',
      ),
      array(
        '0',
        'numeric',
      ),
      array(
        1.5,
        'numeric',
      ),
      array(
        '1.5',
        'numeric',
      ),
      array(
        0,
        'integer',
      ),
      array(
        1.5,
        'float',
      ),
      array(
        '12345',
        'string',
      ),
      array(
        array(),
        'array',
      ),
      array(
        $object,
        'object',
      ),
      array(
        $object,
        'stdClass',
      ),
      array(
        $file,
        'resource',
      ),
      array(
        '12345',
        'digit',
      ),
      array(
        '12a34',
        'alnum',
      ),
      array(
        'abcde',
        'alpha',
      ),
      array(
        "\n\r\t",
        'cntrl',
      ),
      array(
        'arf12',
        'graph',
      ),
      array(
        'abcde',
        'lower',
      ),
      array(
        'ABCDE',
        'upper',
      ),
      array(
        'arf12',
        'print',
      ),
      array(
        '*&$()',
        'punct',
      ),
      array(
        "\n\r\t",
        'space',
      ),
      array(
        'AB10BC99',
        'xdigit',
      ),
    );
  }

  /**
   * @dataProvider getInvalidValues
   */
  public function testInvalidValues($value, $type, $valueAsString) {
    $constraint = new Type(array(
      'type' => $type,
      'message' => 'myMessage',
    ));
    $this->validator
      ->validate($value, $constraint);
    $this
      ->buildViolation('myMessage')
      ->setParameter('{{ value }}', $valueAsString)
      ->setParameter('{{ type }}', $type)
      ->assertRaised();
  }
  public function getInvalidValues() {
    $object = new \stdClass();
    $file = $this
      ->createFile();
    return array(
      array(
        'foobar',
        'numeric',
        '"foobar"',
      ),
      array(
        'foobar',
        'boolean',
        '"foobar"',
      ),
      array(
        '0',
        'integer',
        '"0"',
      ),
      array(
        '1.5',
        'float',
        '"1.5"',
      ),
      array(
        12345,
        'string',
        '12345',
      ),
      array(
        $object,
        'boolean',
        'object',
      ),
      array(
        $object,
        'numeric',
        'object',
      ),
      array(
        $object,
        'integer',
        'object',
      ),
      array(
        $object,
        'float',
        'object',
      ),
      array(
        $object,
        'string',
        'object',
      ),
      array(
        $object,
        'resource',
        'object',
      ),
      array(
        $file,
        'boolean',
        'resource',
      ),
      array(
        $file,
        'numeric',
        'resource',
      ),
      array(
        $file,
        'integer',
        'resource',
      ),
      array(
        $file,
        'float',
        'resource',
      ),
      array(
        $file,
        'string',
        'resource',
      ),
      array(
        $file,
        'object',
        'resource',
      ),
      array(
        '12a34',
        'digit',
        '"12a34"',
      ),
      array(
        '1a#23',
        'alnum',
        '"1a#23"',
      ),
      array(
        'abcd1',
        'alpha',
        '"abcd1"',
      ),
      array(
        "\nabc",
        'cntrl',
        "\"\nabc\"",
      ),
      array(
        "abc\n",
        'graph',
        "\"abc\n\"",
      ),
      array(
        'abCDE',
        'lower',
        '"abCDE"',
      ),
      array(
        'ABcde',
        'upper',
        '"ABcde"',
      ),
      array(
        "\nabc",
        'print',
        "\"\nabc\"",
      ),
      array(
        'abc&$!',
        'punct',
        '"abc&$!"',
      ),
      array(
        "\nabc",
        'space',
        "\"\nabc\"",
      ),
      array(
        'AR1012',
        'xdigit',
        '"AR1012"',
      ),
    );
  }
  protected function createFile() {
    if (!static::$file) {
      static::$file = fopen(__FILE__, 'r');
    }
    return static::$file;
  }
  public static function tearDownAfterClass() {
    if (static::$file) {
      fclose(static::$file);
      static::$file = null;
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AbstractConstraintValidatorTest::$constraint protected property
AbstractConstraintValidatorTest::$context protected property 1
AbstractConstraintValidatorTest::$defaultTimezone protected property
AbstractConstraintValidatorTest::$group protected property
AbstractConstraintValidatorTest::$metadata protected property
AbstractConstraintValidatorTest::$object protected property
AbstractConstraintValidatorTest::$propertyPath protected property
AbstractConstraintValidatorTest::$root protected property
AbstractConstraintValidatorTest::$validator protected property 1
AbstractConstraintValidatorTest::$value protected property
AbstractConstraintValidatorTest::assertNoViolation protected function
AbstractConstraintValidatorTest::assertViolation Deprecated protected function
AbstractConstraintValidatorTest::assertViolations Deprecated protected function
AbstractConstraintValidatorTest::buildViolation protected function
AbstractConstraintValidatorTest::createContext protected function
AbstractConstraintValidatorTest::createViolation Deprecated protected function
AbstractConstraintValidatorTest::expectNoValidate protected function
AbstractConstraintValidatorTest::expectValidateAt protected function
AbstractConstraintValidatorTest::expectValidateValueAt protected function
AbstractConstraintValidatorTest::restoreDefaultTimezone protected function
AbstractConstraintValidatorTest::setDefaultTimezone protected function
AbstractConstraintValidatorTest::setGroup protected function
AbstractConstraintValidatorTest::setObject protected function
AbstractConstraintValidatorTest::setProperty protected function
AbstractConstraintValidatorTest::setPropertyPath protected function
AbstractConstraintValidatorTest::setRoot protected function
AbstractConstraintValidatorTest::setUp protected function 2
AbstractConstraintValidatorTest::setValue protected function
AbstractConstraintValidatorTest::tearDown protected function 1
TypeValidatorTest::$file protected static property
TypeValidatorTest::createFile protected function
TypeValidatorTest::createValidator protected function Overrides AbstractConstraintValidatorTest::createValidator
TypeValidatorTest::getApiVersion protected function Overrides AbstractConstraintValidatorTest::getApiVersion
TypeValidatorTest::getInvalidValues public function
TypeValidatorTest::getValidValues public function
TypeValidatorTest::tearDownAfterClass public static function
TypeValidatorTest::testEmptyIsInvalidIfNoString public function
TypeValidatorTest::testEmptyIsValidIfString public function
TypeValidatorTest::testInvalidValues public function @dataProvider getInvalidValues
TypeValidatorTest::testNullIsValid public function
TypeValidatorTest::testValidValues public function @dataProvider getValidValues