ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
ilHtmlPurifierCompositeTest Class Reference
+ Inheritance diagram for ilHtmlPurifierCompositeTest:
+ Collaboration diagram for ilHtmlPurifierCompositeTest:

Public Member Functions

 testPurifierNodesAreCalledIfStringGetsPurified ()
 
 testPurifierNodesAreCalledIfArrayOfStringGetssPurified ()
 
 testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing ($element)
 

Static Public Member Functions

static invalidHtmlDataTypeProvider ()
 

Private Member Functions

 getFakePurifier ()
 

Private Attributes

const array TO_PURIFY
 

Detailed Description

Definition at line 24 of file ilHtmlPurifierCompositeTest.php.

Member Function Documentation

◆ getFakePurifier()

ilHtmlPurifierCompositeTest::getFakePurifier ( )
private

Definition at line 32 of file ilHtmlPurifierCompositeTest.php.

Referenced by testPurifierNodesAreCalledIfArrayOfStringGetssPurified(), and testPurifierNodesAreCalledIfStringGetsPurified().

33  {
34  return new class () implements ilHtmlPurifierInterface {
35  public function purify(string $html): string
36  {
37  return $html . '.';
38  }
39 
40  public function purifyArray(array $htmlCollection): array
41  {
42  foreach ($htmlCollection as &$html) {
43  $html .= '.';
44  }
45 
46  return $htmlCollection;
47  }
48  };
49  }
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 98 of file ilHtmlPurifierCompositeTest.php.

References null.

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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing()

ilHtmlPurifierCompositeTest::testExceptionIsRaisedIfNonStringElementsArePassedForHtmlBatchProcessing (   $element)

Definition at line 112 of file ilHtmlPurifierCompositeTest.php.

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

◆ testPurifierNodesAreCalledIfArrayOfStringGetssPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfArrayOfStringGetssPurified ( )

Definition at line 71 of file ilHtmlPurifierCompositeTest.php.

References getFakePurifier().

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

◆ testPurifierNodesAreCalledIfStringGetsPurified()

ilHtmlPurifierCompositeTest::testPurifierNodesAreCalledIfStringGetsPurified ( )

Definition at line 51 of file ilHtmlPurifierCompositeTest.php.

References getFakePurifier().

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

Field Documentation

◆ TO_PURIFY

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

Definition at line 26 of file ilHtmlPurifierCompositeTest.php.


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