ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ilTestQuestionHeaderBlockBuilderTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
26{
28
29 protected function setUp(): void
30 {
32
33 $this->testObj = new ilTestQuestionHeaderBlockBuilder($this->createMock(ilLanguage::class));
34 }
35
37 {
38 $this->assertInstanceOf(ilTestQuestionHeaderBlockBuilder::class, $this->testObj);
39 }
40
41 public function testHeaderMode(): void
42 {
43 $headerMode = 12;
44 $this->testObj->setHeaderMode($headerMode);
45 $this->assertEquals($headerMode, $this->testObj->getHeaderMode());
46 }
47
48 public function testQuestionTitle(): void
49 {
50 $questionTitle = 'test';
51 $this->testObj->setQuestionTitle($questionTitle);
52 $this->assertEquals($questionTitle, $this->testObj->getQuestionTitle());
53 }
54
55 public function testGetHTMLEncodesQuestionTitle(): void
56 {
57 $this->testObj->setQuestionTitle('A \'b\' "c" & <script>alert(1)</script>');
58
59 $this->testObj->setHeaderMode(1);
60 $this->assertStringContainsString(
61 ' - A &#039;b&#039; &quot;c&quot; &amp; &lt;script&gt;alert(1)&lt;/script&gt;',
62 $this->testObj->getHTML()
63 );
64 $this->assertStringNotContainsString('<script>', $this->testObj->getHTML());
65
66 $this->testObj->setHeaderMode(0);
67 $this->assertStringContainsString(
68 ' - A &#039;b&#039; &quot;c&quot; &amp; &lt;script&gt;alert(1)&lt;/script&gt;',
69 $this->testObj->getHTML()
70 );
71 $this->assertStringNotContainsString('<script>', $this->testObj->getHTML());
72 }
73
74 public function testPresentationTitleIsNotEncoded(): void
75 {
76 $questionTitle = 'A \'b\' "c" & <d>';
77 $this->testObj->setQuestionTitle($questionTitle);
78 $this->testObj->setHeaderMode(0);
79 $this->assertEquals($questionTitle, $this->testObj->getPresentationTitle());
80 }
81
82 public function testQuestionPoints(): void
83 {
84 $questionPoints = 20.5;
85 $this->testObj->setQuestionPoints($questionPoints);
86 $this->assertEquals($questionPoints, $this->testObj->getQuestionPoints());
87 }
88
89 public function testQuestionAnswered(): void
90 {
91 $this->testObj->setQuestionAnswered(false);
92 $this->assertFalse($this->testObj->isQuestionAnswered());
93
94 $this->testObj->setQuestionAnswered(true);
95 $this->assertTrue($this->testObj->isQuestionAnswered());
96 }
97
98 public function testQuestionPosition(): void
99 {
100 $questionPosition = 20;
101 $this->testObj->setQuestionPosition($questionPosition);
102 $this->assertEquals($questionPosition, $this->testObj->getQuestionPosition());
103 }
104
105 public function testQuestionCount(): void
106 {
107 $questionCount = 20;
108 $this->testObj->setQuestionCount($questionCount);
109 $this->assertEquals($questionCount, $this->testObj->getQuestionCount());
110 }
111
112 public function testQuestionPostponed(): void
113 {
114 $this->testObj->setQuestionPostponed(false);
115 $this->assertFalse($this->testObj->isQuestionPostponed());
116
117 $this->testObj->setQuestionPostponed(true);
118 $this->assertTrue($this->testObj->isQuestionPostponed());
119 }
120
121 public function testQuestionRelatedObjectives(): void
122 {
123 $questionRelatedObjectives = 'test';
124 $this->testObj->setQuestionRelatedObjectives($questionRelatedObjectives);
125 $this->assertEquals($questionRelatedObjectives, $this->testObj->getQuestionRelatedObjectives());
126 }
127}
Class ilTestBaseClass.
Class ilTestQuestionHeaderBlockBuilderTest.