Filter validator test.
This commit is contained in:
parent
0e49a2b31e
commit
073a5feaf8
@ -44,9 +44,23 @@ class FilterValidator
|
|||||||
) {
|
) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (isset($value['address']) && AddressValidator::validate($value['address']) === false) {
|
if (isset($value['address'])) {
|
||||||
|
if (is_array($value['address'])) {
|
||||||
|
$isError = false;
|
||||||
|
|
||||||
|
foreach ($value['address'] as $address) {
|
||||||
|
if (AddressValidator::validate($address) === false) {
|
||||||
|
$isError = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($isError === true) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} elseif (AddressValidator::validate($value['address']) === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (isset($value['topics']) && is_array($value['topics'])) {
|
if (isset($value['topics']) && is_array($value['topics'])) {
|
||||||
foreach ($value['topics'] as $topic) {
|
foreach ($value['topics'] as $topic) {
|
||||||
if (is_array($topic)) {
|
if (is_array($topic)) {
|
||||||
|
72
test/unit/FilterValidatorTest.php
Normal file
72
test/unit/FilterValidatorTest.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Test\Unit;
|
||||||
|
|
||||||
|
use Test\TestCase;
|
||||||
|
use Web3\Validators\FilterValidator;
|
||||||
|
|
||||||
|
class FilterValidatorTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* validator
|
||||||
|
*
|
||||||
|
* @var \Web3\Validators\FilterValidator
|
||||||
|
*/
|
||||||
|
protected $validator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* setUp
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->validator = new FilterValidator;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* testValidate
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testValidate()
|
||||||
|
{
|
||||||
|
$validator = $this->validator;
|
||||||
|
|
||||||
|
$this->assertEquals(false, $validator->validate('hello web3.php'));
|
||||||
|
$this->assertEquals(false, $validator->validate([
|
||||||
|
'fromBlock' => 'hello',
|
||||||
|
]));
|
||||||
|
$this->assertEquals(false, $validator->validate([
|
||||||
|
'toBlock' => 'hello',
|
||||||
|
]));
|
||||||
|
$this->assertEquals(false, $validator->validate([
|
||||||
|
'address' => '0xzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz',
|
||||||
|
]));
|
||||||
|
$this->assertEquals(false, $validator->validate([
|
||||||
|
'topics' => [
|
||||||
|
'0xzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz',
|
||||||
|
]
|
||||||
|
]));
|
||||||
|
$this->assertEquals(true, $validator->validate([]));
|
||||||
|
$this->assertEquals(true, $validator->validate([
|
||||||
|
'fromBlock' => 'earliest',
|
||||||
|
'toBlock' => 'latest',
|
||||||
|
'address' => '0xd46e8dd67c5d32be8058bb8eb970870f07244567',
|
||||||
|
'topics' => [
|
||||||
|
'0xd46e8dd67c5d32be8058bb8eb970870f07244567', '0xd46e8dd67c5d32be8058bb8eb970870f07244567'
|
||||||
|
]
|
||||||
|
]));
|
||||||
|
$this->assertEquals(true, $validator->validate([
|
||||||
|
'fromBlock' => 'earliest',
|
||||||
|
'toBlock' => 'latest',
|
||||||
|
'address' => [
|
||||||
|
'0xd46e8dd67c5d32be8058bb8eb970870f07244567', '0xd46e8dd67c5d32be8058bb8eb970870f07244567'
|
||||||
|
],
|
||||||
|
'topics' => [
|
||||||
|
'0xd46e8dd67c5d32be8058bb8eb970870f07244567', '0xd46e8dd67c5d32be8058bb8eb970870f07244567'
|
||||||
|
]
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user