+
+ /**
+ * Create a temporary hook handler which will be reset by tearDown.
+ * This replaces other handlers for the same hook.
+ * @param string $hookName Hook name
+ * @param mixed $handler Value suitable for a hook handler
+ * @since 1.34
+ */
+ protected function setTemporaryHook( $hookName, $handler ) {
+ // This will be reset by tearDown() when it restores globals. We don't want to use
+ // Hooks::register()/clear() because they won't replace other handlers for the same hook,
+ // which doesn't match behavior of MediaWikiIntegrationTestCase.
+ global $wgHooks;
+ $wgHooks[$hookName] = [ $handler ];
+ }