ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilHtmlPurifierCompositeTest Class Reference

Class ilHtmlPurifierCompositeTest. More...

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

Public Member Functions

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

Private Member Functions

 getFakePurifier ()
 

Detailed Description

Member Function Documentation

◆ getFakePurifier()

ilHtmlPurifierCompositeTest::getFakePurifier ( )
private

Definition at line 29 of file ilHtmlPurifierCompositeTest.php.

References ILIAS\LTI\ToolProvider\$key.

Referenced by testPurifierNodesAreCalledIfArrayOfStringGetssPurified(), and testPurifierNodesAreCalledIfStringGetsPurified().

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
+ 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)

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.

References getFakePurifier().

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  }
Composite for nesting multiple purifiers.
+ Here is the call graph for this function:

◆ testPurifierNodesAreCalledIfStringGetsPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfStringGetsPurified ( )

Definition at line 48 of file ilHtmlPurifierCompositeTest.php.

References getFakePurifier().

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  }
Composite for nesting multiple purifiers.
+ Here is the call graph for this function:

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