/** * @dataProvider validateProvider */ public function testValidate($value, $violates, $type = null, $defaultRegion = null) { $validator = new PhoneNumberValidator(); if (class_exists('Symfony\\Component\\Validator\\Context\\ExecutionContext')) { $executionContextClass = 'Symfony\\Component\\Validator\\Context\\ExecutionContext'; } else { $executionContextClass = 'Symfony\\Component\\Validator\\ExecutionContext'; } $context = $this->getMockBuilder($executionContextClass)->disableOriginalConstructor()->getMock(); $validator->initialize($context); $constraint = new PhoneNumber(); if (null !== $type) { $constraint->type = $type; } if (null !== $defaultRegion) { $constraint->defaultRegion = $defaultRegion; } if (true === $violates) { if ($value instanceof PhoneNumberObject) { $constraintValue = PhoneNumberUtil::getInstance()->format($value, PhoneNumberFormat::INTERNATIONAL); } else { $constraintValue = (string) $value; } $context->expects($this->once())->method('addViolation')->with($constraint->getMessage(), array('{{ type }}' => $constraint->type, '{{ value }}' => $constraintValue)); } else { $context->expects($this->never())->method('addViolation'); } $validator->validate($value, $constraint); }
/** * @dataProvider messageProvider */ public function testMessage($message = null, $type = null, $expectedMessage) { $phoneNumber = new PhoneNumber(); if (null !== $message) { $phoneNumber->message = $message; } if (null !== $type) { $phoneNumber->type = $type; } $this->assertSame($expectedMessage, $phoneNumber->getMessage()); }