ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilHtmlPurifierCompositeTest Class Reference

Class ilHtmlPurifierCompositeTest. More...

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

Public Member Functions

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

Static Public Member Functions

static invalidHtmlDataTypeProvider ()
 

Private Member Functions

 getFakePurifier ()
 

Private Attributes

const TO_PURIFY
 

Detailed Description

Member Function Documentation

◆ getFakePurifier()

ilHtmlPurifierCompositeTest::getFakePurifier ( )
private

Definition at line 35 of file ilHtmlPurifierCompositeTest.php.

Referenced by testPurifierNodesAreCalledIfArrayOfStringGetssPurified(), and testPurifierNodesAreCalledIfStringGetsPurified().

36  {
37  return new class () implements ilHtmlPurifierInterface {
38  public function purify(string $html): string
39  {
40  return $html . '.';
41  }
42 
43  public function purifyArray(array $htmlCollection): array
44  {
45  foreach ($htmlCollection as &$html) {
46  $html .= '.';
47  }
48 
49  return $htmlCollection;
50  }
51  };
52  }
Interface for html sanitizing functionality.
+ Here is the caller graph for this function:

◆ invalidHtmlDataTypeProvider()

static ilHtmlPurifierCompositeTest::invalidHtmlDataTypeProvider ( )
static
Returns
array{integer: int[], float: float[], null: null[], array: never[][], object: [], bool: false[], resource: resource[]|false[]}

Definition at line 101 of file ilHtmlPurifierCompositeTest.php.

References null.

101  : array
102  {
103  return [
104  'integer' => [5],
105  'float' => [0.1],
106  'null' => [null],
107  'array' => [[]],
108  'object' => [new stdClass()],
109  'bool' => [false],
110  'resource' => [fopen('php://memory', 'rb')],
111  ];
112  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing()

ilHtmlPurifierCompositeTest::testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing (   $element)

invalidHtmlDataTypeProvider

Definition at line 117 of file ilHtmlPurifierCompositeTest.php.

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

◆ testPurifierNodesAreCalledIfArrayOfStringGetssPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfArrayOfStringGetssPurified ( )

Definition at line 74 of file ilHtmlPurifierCompositeTest.php.

References getFakePurifier().

74  : void
75  {
76  $purifier = new ilHtmlPurifierComposite();
77 
78  $p1 = $this->getFakePurifier();
79  $p2 = clone $p1;
80  $p3 = clone $p1;
81 
82  $purifier->addPurifier($p1);
83  $purifier->addPurifier($p1);
84  $purifier->addPurifier($p2);
85  $purifier->addPurifier($p3);
86 
87  $this->assertSame(array_map(static function (string $html): string {
88  return $html . '...';
89  }, self::TO_PURIFY), $purifier->purifyArray(self::TO_PURIFY));
90 
91  $purifier->removePurifier($p2);
92 
93  $this->assertSame(array_map(static function (string $html): string {
94  return $html . '..';
95  }, self::TO_PURIFY), $purifier->purifyArray(self::TO_PURIFY));
96  }
Composite for nesting multiple purifiers.
+ Here is the call graph for this function:

◆ testPurifierNodesAreCalledIfStringGetsPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfStringGetsPurified ( )

Definition at line 54 of file ilHtmlPurifierCompositeTest.php.

References getFakePurifier().

54  : void
55  {
56  $purifier = new ilHtmlPurifierComposite();
57 
58  $p1 = $this->getFakePurifier();
59  $p2 = clone $p1;
60  $p3 = clone $p1;
61 
62  $purifier->addPurifier($p1);
63  $purifier->addPurifier($p1);
64  $purifier->addPurifier($p2);
65  $purifier->addPurifier($p3);
66 
67  $this->assertSame('phpunit...', $purifier->purify('phpunit'));
68 
69  $purifier->removePurifier($p2);
70 
71  $this->assertSame('phpunit..', $purifier->purify('phpunit'));
72  }
Composite for nesting multiple purifiers.
+ Here is the call graph for this function:

Field Documentation

◆ TO_PURIFY

const ilHtmlPurifierCompositeTest::TO_PURIFY
private
Initial value:
= [
'phpunit1',
'phpunit2',
'phpunit3',
]

Definition at line 29 of file ilHtmlPurifierCompositeTest.php.


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