19 declare(strict_types=1);
    21 require_once(
"vendor/composer/vendor/autoload.php");
    22 require_once(__DIR__ . 
"/../Base.php");
    39         \ILIAS\UI\Help\Topic::class,
    40         \ILIAS\UI\Component\Progress\State\Bar\State::class,
    51         $_SERVER[
"SERVER_NAME"] = 
"localhost";
    55         $_SERVER[
'QUERY_STRING'] = 
"param=1";
    60         $this->example_parser = 
new Crawler\ExamplesYamlParser();
    71         $this->dic[
"tpl"] = $this->getTemplateFactory()->getTemplate(
"tpl.main.html", 
false, 
false);
    73         $this->dic[
"refinery"] = new \ILIAS\Refinery\Factory(
    79         $this->dic[
"ui.template_factory"] = $this->getTemplateFactory();
    81         $this->dic[
"ilCtrl"] = $this->getMockBuilder(\ilCtrl::class)->disableOriginalConstructor()->onlyMethods([
    82             "getFormActionByClass",
"setParameterByClass",
"saveParameterByClass",
"getLinkTargetByClass", 
"isAsynch"    84         $this->dic[
"ilCtrl"]->method(
"getFormActionByClass")->willReturn(
"Testing");
    85         $this->dic[
"ilCtrl"]->method(
"getLinkTargetByClass")->willReturn(
"2");
    86         $this->dic[
"ilCtrl"]->method(
"isAsynch")->willReturn(
false);
    88         $this->dic[
"upload"] = $this->getMockBuilder(FileUpload::class)->getMock();
    90         $this->dic[
"tree"] = $this->getMockBuilder(ilTree::class)
    91                                   ->disableOriginalConstructor()
    92                                   ->onlyMethods([
"getNodeData"])->getMock();
    94         $this->dic[
"tree"]->method(
"getNodeData")->willReturn([
    96             "title" => 
"mock root node",
   100         $component_factory = $this->createMock(ilComponentFactory::class);
   101         $component_factory->method(
"getActivePluginsInSlot")->willReturn(
new ArrayIterator());
   102         $this->dic[
"component.factory"] = $component_factory;
   118             if (in_array(trim($entry->getNamespace(), 
'\\'), self::MAY_NOT_HAVE_EXAMPLES, 
true)) {
   121             if (!$entry->isAbstract()) {
   122                 $this->assertGreaterThan(
   124                     count($entry->getExamples()),
   125                     "Non abstract Component " . $entry->getNamespace()
   126                     . 
" does not provide any example. Please provide at least one in " . $entry->getExamplesNamespace() . 
" at " . $entry->getExamplesPath()
   140         include_once $example_path;
   142             $this->assertIsString($example_function_name(), 
" Example $example_function_name does not render a string");
   144             $this->assertTrue(
true);
   153         $docs = $this->example_parser->parseYamlStringArrayFromFile($example_path);
   154         $this->assertArrayHasKey(
'expected output', $docs);
   162         $crawler = 
new Crawler\FactoriesCrawler();
   163         return $crawler->crawlFactory(self::$path_to_base_factory);
   168         $function_names = [];
   169         foreach (static::getEntriesFromCrawler() as $entry) {
   170             foreach ($entry->getExamples() as $name => $example_path) {
   171                 $function_names[$entry->getExamplesNamespace() . 
"\\" . $name] = [
   172                     $entry->getExamplesNamespace() . 
"\\" . $name,
   177         return $function_names;
   188         include_once $example_path;
   190             $this->assertIsString($example_function_name($DIC), 
" Example $example_function_name does not render a string");
   192             $this->assertTrue(
true);
   199             [
'ILIAS\UI\examples\MainControls\Footer\base', 
"components/ILIAS/UI/src/examples/MainControls/Footer/base.php"],
   200             [
'ILIAS\UI\examples\MainControls\MetaBar\renderMetaBarInFullscreenMode', 
"components/ILIAS/UI/src/examples/MainControls/MetaBar/base_metabar.php"],
   201             [
'ILIAS\UI\examples\Layout\Page\Standard\getUIMainbarExampleCondensed', 
"components/ILIAS/UI/src/examples/Layout/Page/Standard/ui_mainbar.php"],
   202             [
'ILIAS\UI\examples\Layout\Page\Standard\getUIMainbarExampleFull', 
"components/ILIAS/UI/src/examples/Layout/Page/Standard/ui_mainbar.php"],
   203             [
'ILIAS\UI\examples\Layout\Page\Standard\ui', 
"components/ILIAS/UI/src/examples/Layout/Page/Standard/ui.php"],
   204             [
'ILIAS\UI\examples\MainControls\ModeInfo\renderModeInfoFullscreenMode', 
"components/ILIAS/UI/src/examples/MainControls/ModeInfo/modeinfo.php"]
 static getListOfFullscreenExamples()
 
Class ExamplesTest Checks if all examples are implemented and properly returning strings. 
 
Interface Observer  Contains several chained tasks and infos about them. 
 
setUpMockDependencies()
Some wiring up of dependencies to get all the examples running. 
 
Crawler ExamplesYamlParser $example_parser
 
This exception indicates that an UI component was accepted by the JF but is not backed by a real impl...
 
static string $path_to_base_factory
 
Customizing of pimple-DIC for ILIAS. 
 
Responsible for loading the UI Framework into the dependency injection container of ILIAS...
 
static getEntriesFromCrawler()
 
static getFullFunctionNamesAndPathExample()
 
testAllExamplesRenderAString(string $example_function_name, string $example_path)
getFullFunctionNamesAndPathExample 
 
testAllExamplesHaveExpectedOutcomeInDocs(string $example_function_name, string $example_path)
getFullFunctionNamesAndPathExample 
 
testFullscreenModeExamples(string $example_function_name, string $example_path)
getListOfFullscreenExamples 
 
const MAY_NOT_HAVE_EXAMPLES
 
testAllNonAbstractComponentsShowcaseExamples()
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Responsible for loading the HTTP Service into the dependency injection container of ILIAS...