ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
UserLanguageTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24use ilObjUser;
26use ILIAS\LegalDocuments\test\ContainerMock;
28use PHPUnit\Framework\TestCase;
32
33require_once __DIR__ . '/../ContainerMock.php';
34
35class UserLanguageTest extends TestCase
36{
37 use ContainerMock;
38
39 public function testConstruct(): void
40 {
41 $this->assertInstanceOf(UserLanguage::class, new UserLanguage(
42 $this->mock(CriterionContent::class),
43 $this->mock(UserLanguageDefinition::class),
44 $this->mock(UI::class)
45 ));
46 }
47
48 public function testAsComponent(): void
49 {
50 $legacy = $this->mock(Legacy\Content::class);
51 $instance = new UserLanguage(
52 $this->mockTree(CriterionContent::class, ['arguments' => ['lng' => 'foo']]),
53 $this->mock(UserLanguageDefinition::class),
54 $this->mockTree(UI::class, ['create' => ['legacy' => ['content' => $legacy]]])
55 );
56
57 $this->assertSame($legacy, $instance->asComponent());
58 }
59
60 public function testEval(): void
61 {
62 $instance = new UserLanguage(
63 $this->mockTree(CriterionContent::class, ['arguments' => ['lng' => 'foo']]),
64 $this->mock(UserLanguageDefinition::class),
65 $this->mock(UI::class)
66 );
67
68 $this->assertTrue($instance->eval($this->mockTree(ilObjUser::class, ['getLanguage' => 'foo'])));
69 }
70
71 public function testDefinition(): void
72 {
73 $definition = $this->mock(UserLanguageDefinition::class);
74 $instance = new UserLanguage(
75 $this->mock(CriterionContent::class),
76 $definition,
77 $this->mock(UI::class)
78 );
79
80 $this->assertSame($definition, $instance->definition());
81 }
82
83 public function testKnownToNeverMatchWith(): void
84 {
85 $instance = new UserLanguage(
86 $this->mock(CriterionContent::class),
87 $this->mock(UserLanguageDefinition::class),
88 $this->mock(UI::class)
89 );
90
91 $second = new UserLanguage(
92 $this->mock(CriterionContent::class),
93 $this->mock(UserLanguageDefinition::class),
94 $this->mock(UI::class)
95 );
96
97 $this->assertTrue($instance->knownToNeverMatchWith($second));
98 $this->assertFalse($instance->knownToNeverMatchWith($this->mock(Condition::class)));
99 }
100}
User class.