From 9d0f9621899a16fc0d2ed9bb481a3ea06906fca1 Mon Sep 17 00:00:00 2001 From: sc0Vu Date: Thu, 22 Feb 2018 14:57:47 +0800 Subject: [PATCH] Quantity validator test. --- src/Validators/QuantityValidator.php | 4 +-- test/unit/QuantityValidatorTest.php | 48 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 test/unit/QuantityValidatorTest.php diff --git a/src/Validators/QuantityValidator.php b/src/Validators/QuantityValidator.php index 99345f1..fc8d12e 100644 --- a/src/Validators/QuantityValidator.php +++ b/src/Validators/QuantityValidator.php @@ -23,7 +23,7 @@ class QuantityValidator */ public static function validate($value) { - // maybe change in_int and preg_match future - return (is_int($value) || preg_match('/^0x[a-fA-f0-9]+$/', $value) >= 1); + // maybe change is_int and is_float and preg_match future + return (is_int($value) || is_float($value) || preg_match('/^0x[a-fA-F0-9]*$/', $value) >= 1); } } \ No newline at end of file diff --git a/test/unit/QuantityValidatorTest.php b/test/unit/QuantityValidatorTest.php new file mode 100644 index 0000000..2a708aa --- /dev/null +++ b/test/unit/QuantityValidatorTest.php @@ -0,0 +1,48 @@ +validator = new QuantityValidator; + } + + /** + * testValidate + * + * @return void + */ + public function testValidate() + { + $validator = $this->validator; + + $this->assertEquals(false, $validator->validate('0Xca35b7d915458ef540ade6068dfe2f44e8fa733c')); + $this->assertEquals(false, $validator->validate('0XCA35B7D915458EF540ADE6068DFE2F44E8FA733C')); + $this->assertEquals(false, $validator->validate('CA35B7D915458EF540ADE6068DFE2F44E8FA733C')); + $this->assertEquals(false, $validator->validate('1234')); + $this->assertEquals(false, $validator->validate('abcd')); + $this->assertEquals(true, $validator->validate(1234)); + $this->assertEquals(true, $validator->validate(0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C)); + $this->assertEquals(true, $validator->validate('0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C')); + $this->assertEquals(true, $validator->validate('0xeb0b54d62ec3f561c2eebdaebd92432126f0817579c102b062d1a6c1f2ed83e8')); + $this->assertEquals(true, $validator->validate('0xeb0b54D62ec3f561C2eebdaebd92432126F0817579c102b062d1a6c1f2ed83e8121233')); + } +} \ No newline at end of file