Skip to content

Commit e7a19b2

Browse files
committed
Tests updated
1 parent 04ccb21 commit e7a19b2

File tree

5 files changed

+254
-44
lines changed

5 files changed

+254
-44
lines changed

Diff for: gump.class.php

+12-24
Original file line numberDiff line numberDiff line change
@@ -399,11 +399,7 @@ public function validate(array $input, array $ruleset, $rules_delimiter='|', $pa
399399
if (count(array_intersect($look_for, $rules)) > 0 || (isset($input[$field]))) {
400400

401401
if (isset($input[$field])) {
402-
if (is_array($input[$field]) && in_array('required_file', $ruleset)) {
403-
$input_array = array($input[$field]);
404-
} else {
405-
$input_array = array($input[$field]);
406-
}
402+
$input_array = array($input[$field]);
407403
} else {
408404
$input_array = array('');
409405
}
@@ -1135,14 +1131,12 @@ protected function validate_max_len($field, $input, $param = null)
11351131
return;
11361132
}
11371133

1138-
if (function_exists('mb_strlen')) {
1134+
if (Helpers::functionExists('mb_strlen')) {
11391135
if (mb_strlen($input[$field]) <= (int) $param) {
11401136
return;
11411137
}
1142-
} else {
1143-
if (strlen($input[$field]) <= (int) $param) {
1144-
return;
1145-
}
1138+
} else if (strlen($input[$field]) <= (int) $param) {
1139+
return;
11461140
}
11471141

11481142
return array(
@@ -1170,14 +1164,12 @@ protected function validate_min_len($field, $input, $param = null)
11701164
return;
11711165
}
11721166

1173-
if (function_exists('mb_strlen')) {
1167+
if (Helpers::functionExists('mb_strlen')) {
11741168
if (mb_strlen($input[$field]) >= (int) $param) {
11751169
return;
11761170
}
1177-
} else {
1178-
if (strlen($input[$field]) >= (int) $param) {
1179-
return;
1180-
}
1171+
} else if (strlen($input[$field]) >= (int) $param) {
1172+
return;
11811173
}
11821174

11831175
return array(
@@ -1205,14 +1197,12 @@ protected function validate_exact_len($field, $input, $param = null)
12051197
return;
12061198
}
12071199

1208-
if (function_exists('mb_strlen')) {
1200+
if (Helpers::functionExists('mb_strlen')) {
12091201
if (mb_strlen($input[$field]) == (int) $param) {
12101202
return;
12111203
}
1212-
} else {
1213-
if (strlen($input[$field]) == (int) $param) {
1214-
return;
1215-
}
1204+
} else if (strlen($input[$field]) == (int) $param) {
1205+
return;
12161206
}
12171207

12181208
return array(
@@ -1646,20 +1636,19 @@ protected function validate_valid_cc($field, $input, $param = null)
16461636

16471637
$number = preg_replace('/\D/', '', $input[$field]);
16481638

1649-
if (function_exists('mb_strlen')) {
1639+
if (Helpers::functionExists('mb_strlen')) {
16501640
$number_length = mb_strlen($number);
16511641
} else {
16521642
$number_length = strlen($number);
16531643
}
16541644

1655-
16561645
/**
16571646
* Bail out if $number_length is 0.
16581647
* This can be the case if a user has entered only alphabets
16591648
*
16601649
* @since 1.5
16611650
*/
1662-
if( $number_length == 0 ) {
1651+
if ($number_length == 0 ) {
16631652
return array(
16641653
'field' => $field,
16651654
'value' => $input[$field],
@@ -1668,7 +1657,6 @@ protected function validate_valid_cc($field, $input, $param = null)
16681657
);
16691658
}
16701659

1671-
16721660
$parity = $number_length % 2;
16731661

16741662
$total = 0;

Diff for: tests/Validators/ExactLenValidatorTest.php

+65-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use GUMP;
66
use Exception;
77
use Tests\BaseTestCase;
8+
use Mockery as m;
89

910
/**
1011
* Class ExactLenValidatorTest
@@ -13,18 +14,76 @@
1314
*/
1415
class ExactLenValidatorTest extends BaseTestCase
1516
{
16-
public function testSuccessWhenEqual()
17+
public function testSuccessWhenEqualWithMbStrlen()
1718
{
18-
$this->assertTrue($this->validate('exact_len,2', '12'));
19+
$externalMock = m::mock('overload:GUMP\Helpers');
20+
21+
$externalMock->shouldReceive('functionExists')
22+
->once()
23+
->with('mb_strlen')
24+
->andReturnTrue();
25+
26+
$this->assertTrue($this->validate('exact_len,5', 'ñándú'));
1927
}
2028

21-
public function testErrorWhenMore()
29+
public function testErrorWhenMoreWithMbStrlen()
2230
{
23-
$this->assertNotTrue($this->validate('exact_len,2', '123'));
31+
$externalMock = m::mock('overload:GUMP\Helpers');
32+
33+
$externalMock->shouldReceive('functionExists')
34+
->once()
35+
->with('mb_strlen')
36+
->andReturnTrue();
37+
38+
$this->assertNotTrue($this->validate('exact_len,2', 'ñán'));
2439
}
2540

26-
public function testErrorWhenLess()
41+
public function testErrorWhenLessWithMbStrlen()
2742
{
28-
$this->assertNotTrue($this->validate('exact_len,2', '1'));
43+
$externalMock = m::mock('overload:GUMP\Helpers');
44+
45+
$externalMock->shouldReceive('functionExists')
46+
->once()
47+
->with('mb_strlen')
48+
->andReturnTrue();
49+
50+
$this->assertNotTrue($this->validate('exact_len,2', 'ñ'));
51+
}
52+
53+
public function testSuccessWhenEqualWithStrlen()
54+
{
55+
$externalMock = m::mock('overload:GUMP\Helpers');
56+
57+
$externalMock->shouldReceive('functionExists')
58+
->once()
59+
->with('mb_strlen')
60+
->andReturnFalse();
61+
62+
$this->assertTrue($this->validate('exact_len,3', 'ña'));
63+
$this->assertTrue($this->validate('exact_len,2', 'na'));
64+
}
65+
66+
public function testErrorWhenMoreWithStrlen()
67+
{
68+
$externalMock = m::mock('overload:GUMP\Helpers');
69+
70+
$externalMock->shouldReceive('functionExists')
71+
->once()
72+
->with('mb_strlen')
73+
->andReturnFalse();
74+
75+
$this->assertNotTrue($this->validate('exact_len,2', 'nan'));
76+
}
77+
78+
public function testErrorWhenLessWithStrlen()
79+
{
80+
$externalMock = m::mock('overload:GUMP\Helpers');
81+
82+
$externalMock->shouldReceive('functionExists')
83+
->once()
84+
->with('mb_strlen')
85+
->andReturnFalse();
86+
87+
$this->assertNotTrue($this->validate('exact_len,2', 'n'));
2988
}
3089
}

Diff for: tests/Validators/MaxLenValidatorTest.php

+65-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use GUMP;
66
use Exception;
77
use Tests\BaseTestCase;
8+
use Mockery as m;
89

910
/**
1011
* Class MaxLenValidatorTest
@@ -13,18 +14,76 @@
1314
*/
1415
class MaxLenValidatorTest extends BaseTestCase
1516
{
16-
public function testSuccessWhenEqual()
17+
public function testSuccessWhenEqualWithMbStrlen()
1718
{
18-
$this->assertTrue($this->validate('max_len,2', '12'));
19+
$externalMock = m::mock('overload:GUMP\Helpers');
20+
21+
$externalMock->shouldReceive('functionExists')
22+
->once()
23+
->with('mb_strlen')
24+
->andReturnTrue();
25+
26+
$this->assertTrue($this->validate('max_len,5', 'ñándú'));
1927
}
2028

21-
public function testSuccessWhenLess()
29+
public function testSuccessWhenLessWithMbStrlen()
2230
{
23-
$this->assertTrue($this->validate('max_len,2', '1'));
31+
$externalMock = m::mock('overload:GUMP\Helpers');
32+
33+
$externalMock->shouldReceive('functionExists')
34+
->once()
35+
->with('mb_strlen')
36+
->andReturnTrue();
37+
38+
$this->assertTrue($this->validate('max_len,2', 'ñ'));
2439
}
2540

26-
public function testErrorWhenMore()
41+
public function testErrorWhenMoreWithMbStrlen()
2742
{
28-
$this->assertNotTrue($this->validate('max_len,2', '123'));
43+
$externalMock = m::mock('overload:GUMP\Helpers');
44+
45+
$externalMock->shouldReceive('functionExists')
46+
->once()
47+
->with('mb_strlen')
48+
->andReturnTrue();
49+
50+
$this->assertNotTrue($this->validate('max_len,2', 'ñán'));
51+
}
52+
53+
public function testSuccessWhenEqualWithStrlen()
54+
{
55+
$externalMock = m::mock('overload:GUMP\Helpers');
56+
57+
$externalMock->shouldReceive('functionExists')
58+
->once()
59+
->with('mb_strlen')
60+
->andReturnFalse();
61+
62+
$this->assertTrue($this->validate('max_len,3', 'ña'));
63+
$this->assertTrue($this->validate('max_len,2', 'na'));
64+
}
65+
66+
public function testSuccessWhenLessWithStrlen()
67+
{
68+
$externalMock = m::mock('overload:GUMP\Helpers');
69+
70+
$externalMock->shouldReceive('functionExists')
71+
->once()
72+
->with('mb_strlen')
73+
->andReturnFalse();
74+
75+
$this->assertTrue($this->validate('max_len,2', 'n'));
76+
}
77+
78+
public function testErrorWhenMoreWithStrlen()
79+
{
80+
$externalMock = m::mock('overload:GUMP\Helpers');
81+
82+
$externalMock->shouldReceive('functionExists')
83+
->once()
84+
->with('mb_strlen')
85+
->andReturnFalse();
86+
87+
$this->assertNotTrue($this->validate('max_len,2', 'nan'));
2988
}
3089
}

Diff for: tests/Validators/MinLenValidatorTest.php

+65-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use GUMP;
66
use Exception;
77
use Tests\BaseTestCase;
8+
use Mockery as m;
89

910
/**
1011
* Class MinLenValidatorTest
@@ -13,18 +14,76 @@
1314
*/
1415
class MinLenValidatorTest extends BaseTestCase
1516
{
16-
public function testSuccessWhenEqual()
17+
public function testSuccessWhenEqualWithMbStrlen()
1718
{
18-
$this->assertTrue($this->validate('min_len,2', '12'));
19+
$externalMock = m::mock('overload:GUMP\Helpers');
20+
21+
$externalMock->shouldReceive('functionExists')
22+
->once()
23+
->with('mb_strlen')
24+
->andReturnTrue();
25+
26+
$this->assertTrue($this->validate('min_len,5', 'ñándú'));
1927
}
2028

21-
public function testSuccessWhenMore()
29+
public function testSuccessWhenMoreWithMbStrlen()
2230
{
23-
$this->assertTrue($this->validate('min_len,2', '123'));
31+
$externalMock = m::mock('overload:GUMP\Helpers');
32+
33+
$externalMock->shouldReceive('functionExists')
34+
->once()
35+
->with('mb_strlen')
36+
->andReturnTrue();
37+
38+
$this->assertTrue($this->validate('min_len,2', 'ñán'));
2439
}
2540

26-
public function testErrorWhenLess()
41+
public function testErrorWhenLessWithMbStrlen()
2742
{
28-
$this->assertNotTrue($this->validate('min_len,2', '1'));
43+
$externalMock = m::mock('overload:GUMP\Helpers');
44+
45+
$externalMock->shouldReceive('functionExists')
46+
->once()
47+
->with('mb_strlen')
48+
->andReturnTrue();
49+
50+
$this->assertNotTrue($this->validate('min_len,2', 'ñ'));
51+
}
52+
53+
public function testSuccessWhenEqualWithStrlen()
54+
{
55+
$externalMock = m::mock('overload:GUMP\Helpers');
56+
57+
$externalMock->shouldReceive('functionExists')
58+
->once()
59+
->with('mb_strlen')
60+
->andReturnFalse();
61+
62+
$this->assertTrue($this->validate('min_len,3', 'ña'));
63+
$this->assertTrue($this->validate('min_len,2', 'na'));
64+
}
65+
66+
public function testSuccessWhenMoreWithStrlen()
67+
{
68+
$externalMock = m::mock('overload:GUMP\Helpers');
69+
70+
$externalMock->shouldReceive('functionExists')
71+
->once()
72+
->with('mb_strlen')
73+
->andReturnFalse();
74+
75+
$this->assertTrue($this->validate('min_len,2', 'nan'));
76+
}
77+
78+
public function testErrorWhenLessWithStrlen()
79+
{
80+
$externalMock = m::mock('overload:GUMP\Helpers');
81+
82+
$externalMock->shouldReceive('functionExists')
83+
->once()
84+
->with('mb_strlen')
85+
->andReturnFalse();
86+
87+
$this->assertNotTrue($this->validate('min_len,2', 'n'));
2988
}
3089
}

0 commit comments

Comments
 (0)