. namespace test_plugin; /** * Fixture for testing of hooks. * * @package core * @author Petr Skoda * @copyright 2022 Open LMS * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ final class callbacks { /** @var string[] list of calls */ public static $calls = []; /** * Callback tester. * * @param \test_plugin\hook\hook $hook * @return void */ public static function test1(\test_plugin\hook\hook $hook): void { self::$calls[] = 'test1'; } /** * Callback tester. * * @param \test_plugin\hook\hook $hook * @return void */ public static function test2(\test_plugin\hook\hook $hook): void { self::$calls[] = 'test2'; } /** * Callback tester. * * @param \test_plugin\hook\stoppablehook $hook * @return void */ public static function stop1(\test_plugin\hook\stoppablehook $hook): void { self::$calls[] = 'stop1'; $hook->stop(); } /** * Callback tester. * * @param \test_plugin\hook\stoppablehook $hook * @return void */ public static function stop2(\test_plugin\hook\stoppablehook $hook): void { self::$calls[] = 'stop2'; $hook->stop(); } /** * Callback tester for exceptions. * * @param \test_plugin\hook\hook $hook * @return void */ public static function exception(\test_plugin\hook\hook $hook): void { self::$calls[] = 'exception'; throw new \Exception('grrr'); } }