ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilDidacticTemplatePatternTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
7 
13 class ilDidacticTemplatePatternTest extends TestCase
14 {
15  protected Container $dic;
16 
17  protected function setUp(): void
18  {
19  $this->initPatternDependencies();
20  parent::setUp();
21  }
22 
23  public function testConstruct(): void
24  {
25  $include_pattern = new ilDidacticTemplateIncludeFilterPattern();
26  $this->assertInstanceOf(ilDidacticTemplateIncludeFilterPattern::class, $include_pattern);
27 
28  $exclude_pattern = new ilDidacticTemplateExcludeFilterPattern();
29  $this->assertInstanceOf(ilDidacticTemplateExcludeFilterPattern::class, $exclude_pattern);
30  }
31 
32  public function testMatches(): void
33  {
34  $include_pattern = new ilDidacticTemplateIncludeFilterPattern();
35  $include_pattern->setPatternSubType(ilDidacticTemplateFilterPattern::PATTERN_SUBTYPE_REGEX);
36  $include_pattern->setPattern('^il_crs_admin_[0-9]+$');
37  $this->assertTrue($include_pattern->valid('il_crs_admin_123'));
38 
39  $exclude_pattern = new ilDidacticTemplateExcludeFilterPattern();
40  $exclude_pattern->setPatternSubType(ilDidacticTemplateFilterPattern::PATTERN_SUBTYPE_REGEX);
41  $exclude_pattern->setPattern('il_crs_admin_[0-9]+');
42  $this->assertTrue($exclude_pattern->valid('il_grp_admin'));
43  }
44 
45  protected function setGlobalVariable(string $name, $value): void
46  {
47  global $DIC;
48 
49  $GLOBALS[$name] = $value;
50  unset($DIC[$name]);
51  $DIC[$name] = static function (\ILIAS\DI\Container $c) use ($value) {
52  return $value;
53  };
54  }
55 
56  protected function initPatternDependencies(): void
57  {
58  $this->dic = new Container();
59  $GLOBALS['DIC'] = $this->dic;
60 
61  $this->setGlobalVariable('ilDB', $this->createMock(ilDBInterface::class));
62 
63  $logger = $this->getMockBuilder(ilLogger::class)
64  ->disableOriginalConstructor()
65  ->getMock();
66 
67  $logger_factory = $this->getMockBuilder(ilLoggerFactory::class)
68  ->disableOriginalConstructor()
69  ->onlyMethods(['getComponentLogger'])
70  ->getMock();
71  $logger_factory->method('getComponentLogger')->willReturn($logger);
72  $this->setGlobalVariable('ilLoggerFactory', $logger_factory);
73  }
74 }
$c
Definition: cli.php:38
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:31
global $DIC
Definition: feed.php:28
if($format !==null) $name
Definition: metadata.php:247
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
Implementation of an include filter pattern for didactic template actions.
Unit tests for class ilDidacticTemplate.
Implementation of an include filter pattern for didactic template actions.