Skip to content

Commit b39b44f

Browse files
authored
Merge pull request #134 from marc-mabe/fix/133/byName-check-ambiguous-values
fixed check of ambiguous values on Enum::byName()
2 parents 2a9acc7 + 442c721 commit b39b44f

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/Enum.php

+5
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,11 @@ final public static function byName(string $name)
226226
throw new InvalidArgumentException("{$const} not defined");
227227
}
228228

229+
assert(
230+
self::noAmbiguousValues(static::getConstants()),
231+
'Ambiguous enumerator values detected for ' . static::class
232+
);
233+
229234
return self::$instances[static::class][$name] = new static(\constant($const));
230235
}
231236

tests/MabeEnumTest/EnumTest.php

+8
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,14 @@ public function testDisabledAssertAmbiguousEnumeratorValues()
339339
EnumAmbiguous::get('unknown');
340340
}
341341

342+
public function testByNameAmbiguousEnumeratorValues()
343+
{
344+
$this->expectException(AssertionError::class);
345+
$this->expectExceptionMessage('Ambiguous enumerator values detected for ' . EnumAmbiguous::class);
346+
347+
EnumAmbiguous::byName('AMBIGUOUS_INT1');
348+
}
349+
342350
public function testExtendedEnabledAssertAmbiguousEnumeratorValues()
343351
{
344352
$this->expectException(AssertionError::class);

0 commit comments

Comments
 (0)