toBe($expected); if ($expected !== true) { $message = $_SESSION[SESS_MESSAGES]['plugin_config']; expect($message['message'])->toContain($name); expect($message['level'])->toBe($expected === null ? MESSAGE_LEVEL_WARN : MESSAGE_LEVEL_ERROR); } else { expect(isset($_SESSION[SESS_MESSAGES]['plugin_config']))->toBeFalse(); } } finally { $_SESSION = $saved_session; unlink($directory . '/setup.php'); rmdir($directory); } })->with([ ['return true;', true], ['return false;', false], ['return null;', null], ['', null], [null, true], ]); test('missing plugin setup does not pass the configuration check', function () { expect(api_plugin_check_config('missing_config_' . bin2hex(random_bytes(6))))->toBeFalse(); });