Hex validator test.

This commit is contained in:
sc0Vu 2018-02-22 14:36:50 +08:00
parent e5287d4a54
commit 167844e5f8
2 changed files with 49 additions and 1 deletions

View File

@ -26,6 +26,6 @@ class HexValidator
if (!is_string($value)) {
return false;
}
return (preg_match('/^0x[a-fA-F0-9]+$/', $value) >= 1);
return (preg_match('/^0x[a-fA-F0-9]*$/', $value) >= 1);
}
}

View File

@ -0,0 +1,48 @@
<?php
namespace Test\Unit;
use Test\TestCase;
use Web3\Validators\HexValidator;
class HexValidatorTest extends TestCase
{
/**
* validator
*
* @var \Web3\Validators\HexValidator
*/
protected $validator;
/**
* setUp
*
* @return void
*/
public function setUp()
{
parent::setUp();
$this->validator = new HexValidator;
}
/**
* testValidate
*
* @return void
*/
public function testValidate()
{
$validator = $this->validator;
$this->assertEquals(false, $validator->validate('0Xca35b7d915458ef540ade6068dfe2f44e8fa733c'));
$this->assertEquals(false, $validator->validate('0XCA35B7D915458EF540ADE6068DFE2F44E8FA733C'));
$this->assertEquals(true, $validator->validate('0xcA35b7D915458eF540ade6068Dfe2f44e8fA733ccA35b7D915458eF540ade6068Dfe2f44e8fA733c'));
$this->assertEquals(false, $validator->validate('CA35B7D915458EF540ADE6068DFE2F44E8FA733C'));
$this->assertEquals(false, $validator->validate('1234'));
$this->assertEquals(false, $validator->validate('abcd'));
$this->assertEquals(false, $validator->validate(0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C));
$this->assertEquals(true, $validator->validate('0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C'));
$this->assertEquals(true, $validator->validate('0xeb0b54d62ec3f561c2eebdaebd92432126f0817579c102b062d1a6c1f2ed83e8'));
$this->assertEquals(true, $validator->validate('0xeb0b54D62ec3f561C2eebdaebd92432126F0817579c102b062d1a6c1f2ed83e8121233'));
}
}