<?php

/**
 * @file
 * Test module for help.
 */

use Drupal\Core\Routing\RouteMatchInterface;

/**
 * Implements hook_help().
 */
function help_topics_test_help($route_name, RouteMatchInterface $route_match) {
  switch ($route_name) {
    case 'help.page.help_topics_test':
      return 'Some kind of non-empty output for testing';
  }
}

/**
 * Implements hook_help_topics_info_alter().
 */
function help_topics_test_help_topics_info_alter(array &$info) {
  // To prevent false positive search results limit list to testing topis only.
  $filter = fn(string $key) => str_starts_with($key, 'help_topics_test') || in_array($key, [
    'help_topics_test_direct_yml',
    'help_topics_derivatives:test_derived_topic',
  ], TRUE);
  $info = array_filter($info, $filter, ARRAY_FILTER_USE_KEY);
  $info['help_topics_test.test']['top_level'] = \Drupal::state()->get('help_topics_test.test:top_level', TRUE);
}
