/** * Test singleton. * @covers Rentalhost\VanillaValidation\ValidationRules::singleton */ public function testSingleton() { $singleton = ValidationRules::singleton(); /** @noinspection StaticInvocationViaThisInspection */ static::assertTrue($singleton->has('required')); /** @var ReflectionProperty $resetInstance */ $resetInstance = new ReflectionProperty(ValidationRules::class, 'instance'); $resetInstance->setAccessible(true); $resetInstance->setValue(null); $singletonUncached = ValidationRules::singleton(); /** @noinspection StaticInvocationViaThisInspection */ static::assertTrue($singletonUncached->has('required')); }
/** * Test RuleNotImplementedException. * @covers Rentalhost\VanillaValidation\ValidationRulesSingleton::validate */ public function testRuleNotImplementedException() { $this->expectException(Exception\RuleNotImplementedException::class); $fieldRule = new ValidationFieldRule('undefined'); ValidationRules::validate($fieldRule, null); }
/** * Validate this rule with value. * * @param mixed $value Value to validate. * * @return Result */ public function validate($value) { return ValidationRules::validate($this, $value); }