You are here

IdenticalToValidatorTest.php in Plug 7

File

lib/Symfony/validator/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php
View source
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\Validator\Tests\Constraints;

use Symfony\Component\Validator\Constraints\IdenticalTo;
use Symfony\Component\Validator\Constraints\IdenticalToValidator;
use Symfony\Component\Validator\Validation;

/**
 * @author Daniel Holmes <daniel@danielholmes.org>
 */
class IdenticalToValidatorTest extends AbstractComparisonValidatorTestCase {
  protected function getApiVersion() {
    return Validation::API_VERSION_2_5;
  }
  protected function createValidator() {
    return new IdenticalToValidator();
  }
  protected function createConstraint(array $options) {
    return new IdenticalTo($options);
  }
  public function provideAllValidComparisons() {
    $this
      ->setDefaultTimezone('UTC');

    // Don't call addPhp5Dot5Comparisons() automatically, as it does
    // not take care of identical objects
    $comparisons = $this
      ->provideValidComparisons();
    $this
      ->restoreDefaultTimezone();
    return $comparisons;
  }

  /**
   * {@inheritdoc}
   */
  public function provideValidComparisons() {
    $date = new \DateTime('2000-01-01');
    $object = new ComparisonTest_Class(2);
    $comparisons = array(
      array(
        3,
        3,
      ),
      array(
        'a',
        'a',
      ),
      array(
        $date,
        $date,
      ),
      array(
        $object,
        $object,
      ),
      array(
        null,
        1,
      ),
    );
    if (version_compare(PHP_VERSION, '>=', '5.5')) {
      $immutableDate = new \DateTimeImmutable('2000-01-01');
      $comparisons[] = array(
        $immutableDate,
        $immutableDate,
      );
    }
    return $comparisons;
  }

  /**
   * {@inheritdoc}
   */
  public function provideInvalidComparisons() {
    return array(
      array(
        1,
        '1',
        2,
        '2',
        'integer',
      ),
      array(
        2,
        '2',
        '2',
        '"2"',
        'string',
      ),
      array(
        '22',
        '"22"',
        '333',
        '"333"',
        'string',
      ),
      array(
        new \DateTime('2001-01-01'),
        'Jan 1, 2001, 12:00 AM',
        new \DateTime('2001-01-01'),
        'Jan 1, 2001, 12:00 AM',
        'DateTime',
      ),
      array(
        new \DateTime('2001-01-01'),
        'Jan 1, 2001, 12:00 AM',
        new \DateTime('1999-01-01'),
        'Jan 1, 1999, 12:00 AM',
        'DateTime',
      ),
      array(
        new ComparisonTest_Class(4),
        '4',
        new ComparisonTest_Class(5),
        '5',
        __NAMESPACE__ . '\\ComparisonTest_Class',
      ),
    );
  }

}

Classes

Namesort descending Description
IdenticalToValidatorTest @author Daniel Holmes <daniel@danielholmes.org>