$resolver->requirements(true, false, false)['has_toc']]; $GLOBALS['toc_settings'] = ['article_nav' => false]; $cases['global_disabled'] = $resolver->requirements(true, false, false)['has_toc']; $GLOBALS['toc_settings'] = ['article_nav' => true]; $GLOBALS['toc_meta'][\AKSRT\Core\DomainModel::POST_META_KEY] = ['no_article-navs' => true]; $cases['post_disabled'] = $resolver->requirements(true, false, false)['has_toc']; $GLOBALS['toc_meta'] = []; $cases['other_page'] = $resolver->requirements(false, false, false)['has_toc']; $definition = \AKSRT\WidgetSystem\WidgetRegistry::get('posts_toc'); $cases['widget_fields'] = array_column($definition->fields(), 'id'); $widget = new \AKSRT\WidgetSystem\SchemaWidget($definition); $widget->_set(2); ob_start(); $widget->widget(['before_widget' => ''], ['title' => '目录 & 标题', 'mini_title' => '副标题', 'in_affix' => true]); $cases['widget'] = ob_get_clean(); $GLOBALS['aksrt_test_state']['singular'] = false; ob_start(); $widget->widget([], []); $cases['non_article_widget'] = ob_get_clean(); echo json_encode($cases, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_THROW_ON_ERROR); }