diff --git a/packages/support/src/Concerns/Macroable.php b/packages/support/src/Concerns/Macroable.php index c039a2e625..cfdb7e16fc 100644 --- a/packages/support/src/Concerns/Macroable.php +++ b/packages/support/src/Concerns/Macroable.php @@ -41,7 +41,7 @@ trait Macroable public static function hasMacro(string $name): bool { - return isset(static::$macros[$name]); + return (bool) static::getMacro($name); } /** diff --git a/tests/src/Support/MacroableTest.php b/tests/src/Support/MacroableTest.php index 921781f79e..f5a5544868 100644 --- a/tests/src/Support/MacroableTest.php +++ b/tests/src/Support/MacroableTest.php @@ -1,19 +1,28 @@ toBeFalse(); - expect(Component::hasMacro('someMacro')) + expect(ComponentContainer::hasMacro('someMacro')) ->toBeFalse(); - Component::macro('someMacro', fn () => 'Hello'); + ComponentContainer::macro('someMacro', fn () => 'Hello'); - expect(Component::hasMacro('someMacro')) + expect(ComponentContainer::hasMacro('someMacro')) ->toBeTrue(); + + expect(Form::hasMacro('someMacro')) + ->toBeTrue(); // Decendant of `Component`... + + expect(Field::hasMacro('someMacro')) + ->toBeFalse(); });