ILIAS  release_8 Revision v8.24
ilHtmlPurifierCompositeTest Class Reference

Class ilHtmlPurifierCompositeTest. More...

+ Inheritance diagram for ilHtmlPurifierCompositeTest:
+ Collaboration diagram for ilHtmlPurifierCompositeTest:

Public Member Functions

 testPurifierNodesAreCalledIfStringGetsPurified ()
 
 testPurifierNodesAreCalledIfArrayOfStringGetssPurified ()
 
 invalidHtmlDataTypeProvider ()
 
 testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing ($element)
 @dataProvider invalidHtmlDataTypeProvider More...
 

Private Member Functions

 getFakePurifier ()
 

Detailed Description

Member Function Documentation

◆ getFakePurifier()

ilHtmlPurifierCompositeTest::getFakePurifier ( )
private

Definition at line 29 of file ilHtmlPurifierCompositeTest.php.

30 {
31 return new class () implements ilHtmlPurifierInterface {
32 public function purify(string $html): string
33 {
34 return $html . '.';
35 }
36
37 public function purifyArray(array $htmlCollection): array
38 {
39 foreach ($htmlCollection as $key => &$html) {
40 $html .= '.';
41 }
42
43 return $htmlCollection;
44 }
45 };
46 }
Interface for html sanitizing functionality.
string $key
Consumer key/client ID value.
Definition: System.php:193

References ILIAS\LTI\ToolProvider\$key.

Referenced by testPurifierNodesAreCalledIfArrayOfStringGetssPurified(), and testPurifierNodesAreCalledIfStringGetsPurified().

+ Here is the caller graph for this function:

◆ invalidHtmlDataTypeProvider()

ilHtmlPurifierCompositeTest::invalidHtmlDataTypeProvider ( )

Definition at line 98 of file ilHtmlPurifierCompositeTest.php.

98 : array
99 {
100 return [
101 'integer' => [5],
102 'float' => [0.1],
103 'null' => [null],
104 'array' => [[]],
105 'object' => [new stdClass()],
106 'bool' => [false],
107 'resource' => [fopen('php://memory', 'rb')],
108 ];
109 }

◆ testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing()

ilHtmlPurifierCompositeTest::testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing (   $element)

@dataProvider invalidHtmlDataTypeProvider

Definition at line 114 of file ilHtmlPurifierCompositeTest.php.

114 : void
115 {
116 $this->expectException(InvalidArgumentException::class);
117
118 $purifier = new ilHtmlPurifierComposite();
119 $purifier->purifyArray([$element]);
120 }
Composite for nesting multiple purifiers.

◆ testPurifierNodesAreCalledIfArrayOfStringGetssPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfArrayOfStringGetssPurified ( )

Definition at line 68 of file ilHtmlPurifierCompositeTest.php.

68 : void
69 {
70 $purifier = new ilHtmlPurifierComposite();
71
72 $p1 = $this->getFakePurifier();
73 $p2 = clone $p1;
74 $p3 = clone $p1;
75
76 $purifier->addPurifier($p1);
77 $purifier->addPurifier($p1);
78 $purifier->addPurifier($p2);
79 $purifier->addPurifier($p3);
80
81 $toPurify = [
82 'phpunit1',
83 'phpunit2',
84 'phpunit3',
85 ];
86
87 $this->assertSame(array_map(static function (string $html): string {
88 return $html . '...';
89 }, $toPurify), $purifier->purifyArray($toPurify));
90
91 $purifier->removePurifier($p2);
92
93 $this->assertSame(array_map(static function (string $html): string {
94 return $html . '..';
95 }, $toPurify), $purifier->purifyArray($toPurify));
96 }

References getFakePurifier().

+ Here is the call graph for this function:

◆ testPurifierNodesAreCalledIfStringGetsPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfStringGetsPurified ( )

Definition at line 48 of file ilHtmlPurifierCompositeTest.php.

48 : void
49 {
50 $purifier = new ilHtmlPurifierComposite();
51
52 $p1 = $this->getFakePurifier();
53 $p2 = clone $p1;
54 $p3 = clone $p1;
55
56 $purifier->addPurifier($p1);
57 $purifier->addPurifier($p1);
58 $purifier->addPurifier($p2);
59 $purifier->addPurifier($p3);
60
61 $this->assertSame('phpunit...', $purifier->purify('phpunit'));
62
63 $purifier->removePurifier($p2);
64
65 $this->assertSame('phpunit..', $purifier->purify('phpunit'));
66 }

References getFakePurifier().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: