class IssnValidatorTest

Hierarchy

  • class \Symfony\Component\Validator\Tests\Constraints\IssnValidatorTest extends \Symfony\Component\Validator\Tests\Constraints\PHPUnit_Framework_TestCase

Expanded class hierarchy of IssnValidatorTest

See also

https://en.wikipedia.org/wiki/Issn

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IssnValidatorTest.php, line 20

Namespace

Symfony\Component\Validator\Tests\Constraints
View source
class IssnValidatorTest extends \PHPUnit_Framework_TestCase {
  protected $context;
  protected $validator;
  public function setUp() {
    $this->context = $this
      ->getMock('Symfony\\Component\\Validator\\ExecutionContext', array(), array(), '', false);
    $this->validator = new IssnValidator();
    $this->validator
      ->initialize($this->context);
  }
  public function getValidLowerCasedIssn() {
    return array(
      array(
        '2162-321x',
      ),
      array(
        '2160-200x',
      ),
      array(
        '1537-453x',
      ),
      array(
        '1937-710x',
      ),
      array(
        '0002-922x',
      ),
      array(
        '1553-345x',
      ),
      array(
        '1553-619x',
      ),
    );
  }
  public function getValidNonHyphenatedIssn() {
    return array(
      array(
        '2162321X',
      ),
      array(
        '01896016',
      ),
      array(
        '15744647',
      ),
      array(
        '14350645',
      ),
      array(
        '07174055',
      ),
      array(
        '20905076',
      ),
      array(
        '14401592',
      ),
    );
  }
  public function getFullValidIssn() {
    return array(
      array(
        '1550-7416',
      ),
      array(
        '1539-8560',
      ),
      array(
        '2156-5376',
      ),
      array(
        '1119-023X',
      ),
      array(
        '1684-5315',
      ),
      array(
        '1996-0786',
      ),
      array(
        '1684-5374',
      ),
      array(
        '1996-0794',
      ),
    );
  }
  public function getValidIssn() {
    return array_merge($this
      ->getValidLowerCasedIssn(), $this
      ->getValidNonHyphenatedIssn(), $this
      ->getFullValidIssn());
  }
  public function getInvalidFormatedIssn() {
    return array(
      array(
        0,
      ),
      array(
        '1539',
      ),
      array(
        '2156-537A',
      ),
    );
  }
  public function getInvalidValueIssn() {
    return array(
      array(
        '1119-0231',
      ),
      array(
        '1684-5312',
      ),
      array(
        '1996-0783',
      ),
      array(
        '1684-537X',
      ),
      array(
        '1996-0795',
      ),
    );
  }
  public function getInvalidIssn() {
    return array_merge($this
      ->getInvalidFormatedIssn(), $this
      ->getInvalidValueIssn());
  }
  public function testNullIsValid() {
    $constraint = new Issn();
    $this->context
      ->expects($this
      ->never())
      ->method('addViolation');
    $this->validator
      ->validate(null, $constraint);
  }
  public function testEmptyStringIsValid() {
    $constraint = new Issn();
    $this->context
      ->expects($this
      ->never())
      ->method('addViolation');
    $this->validator
      ->validate('', $constraint);
  }

  /**
   * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
   */
  public function testExpectsStringCompatibleType() {
    $constraint = new Issn();
    $this->validator
      ->validate(new \stdClass(), $constraint);
  }

  /**
   * @dataProvider getValidLowerCasedIssn
   */
  public function testCaseSensitiveIssns($issn) {
    $constraint = new Issn(array(
      'caseSensitive' => true,
    ));
    $this->context
      ->expects($this
      ->once())
      ->method('addViolation')
      ->with($constraint->message);
    $this->validator
      ->validate($issn, $constraint);
  }

  /**
   * @dataProvider getValidNonHyphenatedIssn
   */
  public function testRequireHyphenIssns($issn) {
    $constraint = new Issn(array(
      'requireHyphen' => true,
    ));
    $this->context
      ->expects($this
      ->once())
      ->method('addViolation')
      ->with($constraint->message);
    $this->validator
      ->validate($issn, $constraint);
  }

  /**
   * @dataProvider getValidIssn
   */
  public function testValidIssn($issn) {
    $constraint = new Issn();
    $this->context
      ->expects($this
      ->never())
      ->method('addViolation');
    $this->validator
      ->validate($issn, $constraint);
  }

  /**
   * @dataProvider getInvalidFormatedIssn
   */
  public function testInvalidFormatIssn($issn) {
    $constraint = new Issn();
    $this->context
      ->expects($this
      ->once())
      ->method('addViolation')
      ->with($constraint->message);
    $this->validator
      ->validate($issn, $constraint);
  }

  /**
   * @dataProvider getInvalidValueIssn
   */
  public function testInvalidValueIssn($issn) {
    $constraint = new Issn();
    $this->context
      ->expects($this
      ->once())
      ->method('addViolation')
      ->with($constraint->message);
    $this->validator
      ->validate($issn, $constraint);
  }

  /**
   * @dataProvider getInvalidIssn
   */
  public function testInvalidIssn($issn) {
    $constraint = new Issn();
    $this->context
      ->expects($this
      ->once())
      ->method('addViolation');
    $this->validator
      ->validate($issn, $constraint);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
IssnValidatorTest::$context protected property
IssnValidatorTest::$validator protected property
IssnValidatorTest::getFullValidIssn public function
IssnValidatorTest::getInvalidFormatedIssn public function
IssnValidatorTest::getInvalidIssn public function
IssnValidatorTest::getInvalidValueIssn public function
IssnValidatorTest::getValidIssn public function
IssnValidatorTest::getValidLowerCasedIssn public function
IssnValidatorTest::getValidNonHyphenatedIssn public function
IssnValidatorTest::setUp public function
IssnValidatorTest::testCaseSensitiveIssns public function @dataProvider getValidLowerCasedIssn
IssnValidatorTest::testEmptyStringIsValid public function
IssnValidatorTest::testExpectsStringCompatibleType public function @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException
IssnValidatorTest::testInvalidFormatIssn public function @dataProvider getInvalidFormatedIssn
IssnValidatorTest::testInvalidIssn public function @dataProvider getInvalidIssn
IssnValidatorTest::testInvalidValueIssn public function @dataProvider getInvalidValueIssn
IssnValidatorTest::testNullIsValid public function
IssnValidatorTest::testRequireHyphenIssns public function @dataProvider getValidNonHyphenatedIssn
IssnValidatorTest::testValidIssn public function @dataProvider getValidIssn