Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 15 additions & 9 deletions tests/unit/LoaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -387,21 +387,27 @@ public function test_an_already_loaded_sub_plugin_is_not_dependency_checked(): v
$constant = $this->define_guard( 'ABSORBER_LOADED_BEFORE_DEPS_GUARD' );

$checked = 0;
$this->register(
[
'dependency_check' => static function () use ( &$checked ) {
++$checked;

return false;
},
],
$constant
);
$check = static function () use ( &$checked ) {
++$checked;

return false;
};

$this->register( [ 'dependency_check' => $check ], $constant );

$this->loader()->load_all();

$this->assertSame( 0, $checked );
$this->assertSame( [], $this->queued_notices(), 'No notice for a plugin that is already running.' );

// The recorder has to be shown to work. A mistyped config key, a fixture that dropped the
// override, a load path that stopped reading `dependency_check` at all: each leaves this
// counter at zero for a reason that has nothing to do with the gate order, and this is the
// only test pinning the order that carries the whole re-declaration guarantee.
$check();

$this->assertSame( 1, $checked, 'The recorder must catch a call that really happened.' );
}

public function test_the_should_load_filter_can_veto_the_load(): void {
Expand Down
Loading