Skip to content

Commit 406419b

Browse files
committed
test can validate boolean value
1 parent b755acf commit 406419b

File tree

2 files changed

+86
-0
lines changed

2 files changed

+86
-0
lines changed

tests/Dotenv/ValidatorBooleanTest.php

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
3+
use Dotenv\Dotenv;
4+
5+
class ValidatorBooleanTest extends PHPUnit_Framework_TestCase
6+
{
7+
/**
8+
* @var string
9+
*/
10+
private $fixturesFolder;
11+
12+
public function setUp()
13+
{
14+
$this->fixturesFolder = dirname(__DIR__).'/fixtures/env';
15+
}
16+
17+
/**
18+
* List of valid boolean values in fixtures/env/booleans.env
19+
*
20+
* @return array
21+
*/
22+
public function validBooleanValuesDataProvider()
23+
{
24+
return [
25+
['VALID_EXPLICIT_LOWERCASE_TRUE'],
26+
['VALID_EXPLICIT_LOWERCASE_FALSE'],
27+
['VALID_EXPLICIT_UPPERCASE_TRUE'],
28+
['VALID_EXPLICIT_UPPERCASE_FALSE'],
29+
['VALID_EXPLICIT_MIXEDCASE_TRUE'],
30+
['VALID_EXPLICIT_MIXEDCASE_FALSE'],
31+
32+
['VALID_NUMBER_TRUE'],
33+
['VALID_NUMBER_FALSE'],
34+
35+
['VALID_ONOFF_LOWERCASE_TRUE'],
36+
['VALID_ONOFF_LOWERCASE_FALSE'],
37+
['VALID_ONOFF_UPPERCASE_TRUE'],
38+
['VALID_ONOFF_UPPERCASE_FALSE'],
39+
['VALID_ONOFF_MIXEDCASE_TRUE'],
40+
['VALID_ONOFF_MIXEDCASE_FALSE'],
41+
42+
['VALID_YESNO_LOWERCASE_TRUE'],
43+
['VALID_YESNO_LOWERCASE_FALSE'],
44+
['VALID_YESNO_UPPERCASE_TRUE'],
45+
['VALID_YESNO_UPPERCASE_FALSE'],
46+
['VALID_YESNO_MIXEDCASE_TRUE'],
47+
['VALID_YESNO_MIXEDCASE_FALSE'],
48+
];
49+
}
50+
51+
/**
52+
* @dataProvider validBooleanValuesDataProvider
53+
*/
54+
public function testCanValidateBooleans($boolean)
55+
{
56+
$dotenv = new Dotenv($this->fixturesFolder, 'booleans.env');
57+
$dotenv->load();
58+
59+
$dotenv->required($boolean)->isBoolean();
60+
61+
$this->assertTrue(true); // anything wrong - an exception will be thrown
62+
}
63+
}

tests/fixtures/env/booleans.env

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
VALID_EXPLICIT_LOWERCASE_TRUE=true
2+
VALID_EXPLICIT_LOWERCASE_FALSE=false
3+
VALID_EXPLICIT_UPPERCASE_TRUE=TRUE
4+
VALID_EXPLICIT_UPPERCASE_FALSE=FALSE
5+
VALID_EXPLICIT_MIXEDCASE_TRUE=True
6+
VALID_EXPLICIT_MIXEDCASE_FALSE=False
7+
8+
VALID_NUMBER_TRUE=1
9+
VALID_NUMBER_FALSE=0
10+
11+
VALID_ONOFF_LOWERCASE_TRUE=on
12+
VALID_ONOFF_LOWERCASE_FALSE=off
13+
VALID_ONOFF_UPPERCASE_TRUE=ON
14+
VALID_ONOFF_UPPERCASE_FALSE=OFF
15+
VALID_ONOFF_MIXEDCASE_TRUE=On
16+
VALID_ONOFF_MIXEDCASE_FALSE=Off
17+
18+
VALID_YESNO_LOWERCASE_TRUE=yes
19+
VALID_YESNO_LOWERCASE_FALSE=no
20+
VALID_YESNO_UPPERCASE_TRUE=YES
21+
VALID_YESNO_UPPERCASE_FALSE=NO
22+
VALID_YESNO_MIXEDCASE_TRUE=Yes
23+
VALID_YESNO_MIXEDCASE_FALSE=No

0 commit comments

Comments
 (0)