Skip to content

Commit 20e0424

Browse files
authored
Merge pull request #2 from myclabs/master
Merge with base repo
2 parents a8284c7 + 550d233 commit 20e0424

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ php:
77
- 7.0
88
- 7.1
99
- 7.2
10+
- 7.3
1011
- nightly
1112

1213
matrix:
@@ -21,7 +22,6 @@ before_script:
2122

2223
script:
2324
- vendor/bin/phpunit
24-
- vendor/bin/phpcs --standard=PSR2 ./src/
2525

2626
# Use Travis' new container-based infrastructure.
2727
# See http://docs.travis-ci.com/user/migrating-from-legacy/#How-can-I-use-container-based-infrastructure%3F

src/Enum.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ abstract class Enum implements \JsonSerializable
2929
*
3030
* @var array
3131
*/
32-
protected static $cache = array();
32+
protected static $cache = [];
3333

3434
/**
3535
* Creates a new value of some type
@@ -150,7 +150,7 @@ public static function isValidKey($key)
150150
{
151151
$array = static::toArray();
152152

153-
return isset($array[$key]);
153+
return isset($array[$key]) || \array_key_exists($key, $array);
154154
}
155155

156156
/**

tests/EnumTest.php

+22-16
Original file line numberDiff line numberDiff line change
@@ -166,21 +166,21 @@ public function testIsValid($value, $isValid)
166166

167167
public function isValidProvider()
168168
{
169-
return array(
169+
return [
170170
/**
171171
* Valid values
172172
*/
173-
array('foo', true),
174-
array(42, true),
175-
array(null, true),
176-
array(0, true),
177-
array('', true),
178-
array(false, true),
173+
['foo', true],
174+
[42, true],
175+
[null, true],
176+
[0, true],
177+
['', true],
178+
[false, true],
179179
/**
180180
* Invalid values
181181
*/
182-
array('baz', false)
183-
);
182+
['baz', false]
183+
];
184184
}
185185

186186
/**
@@ -190,6 +190,7 @@ public function testIsValidKey()
190190
{
191191
$this->assertTrue(EnumFixture::isValidKey('FOO'));
192192
$this->assertFalse(EnumFixture::isValidKey('BAZ'));
193+
$this->assertTrue(EnumFixture::isValidKey('PROBLEMATIC_NULL'));
193194
}
194195

195196
/**
@@ -258,13 +259,13 @@ public function testEqualsConflictValues()
258259
*/
259260
public function testJsonSerialize()
260261
{
261-
$this->assertJsonStringEqualsJsonString('"foo"', json_encode(new EnumFixture(EnumFixture::FOO)));
262-
$this->assertJsonStringEqualsJsonString('"bar"', json_encode(new EnumFixture(EnumFixture::BAR)));
263-
$this->assertJsonStringEqualsJsonString('42', json_encode(new EnumFixture(EnumFixture::NUMBER)));
264-
$this->assertJsonStringEqualsJsonString('0', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_NUMBER)));
265-
$this->assertJsonStringEqualsJsonString('null', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_NULL)));
266-
$this->assertJsonStringEqualsJsonString('""', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_EMPTY_STRING)));
267-
$this->assertJsonStringEqualsJsonString('false', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_BOOLEAN_FALSE)));
262+
$this->assertJsonEqualsJson('"foo"', json_encode(new EnumFixture(EnumFixture::FOO)));
263+
$this->assertJsonEqualsJson('"bar"', json_encode(new EnumFixture(EnumFixture::BAR)));
264+
$this->assertJsonEqualsJson('42', json_encode(new EnumFixture(EnumFixture::NUMBER)));
265+
$this->assertJsonEqualsJson('0', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_NUMBER)));
266+
$this->assertJsonEqualsJson('null', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_NULL)));
267+
$this->assertJsonEqualsJson('""', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_EMPTY_STRING)));
268+
$this->assertJsonEqualsJson('false', json_encode(new EnumFixture(EnumFixture::PROBLEMATIC_BOOLEAN_FALSE)));
268269
}
269270

270271
public function testNullableEnum()
@@ -279,4 +280,9 @@ public function testBooleanEnum()
279280
$this->assertFalse(EnumFixture::PROBLEMATIC_BOOLEAN_FALSE()->getValue());
280281
$this->assertFalse((new EnumFixture(EnumFixture::PROBLEMATIC_BOOLEAN_FALSE))->jsonSerialize());
281282
}
283+
284+
private function assertJsonEqualsJson($json1, $json2)
285+
{
286+
$this->assertJsonStringEqualsJsonString($json1, $json2);
287+
}
282288
}

0 commit comments

Comments
 (0)