ILIAS  trunk Revision v11.0_alpha-1731-gff9cd7e2bd3
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
CustomTest Class Reference
+ Inheritance diagram for CustomTest:
+ Collaboration diagram for CustomTest:

Public Member Functions

 testWithProblemBuilder ()
 
 testProblemBuilderRetrievesLngClosure ()
 
 test_use_txt ()
 
 test_exception_on_no_parameter ()
 
 test_no_sprintf_on_one_parameter ()
 
 test_gracefully_handle_arrays_and_objects ()
 

Protected Member Functions

 setUp ()
 

Private Attributes

string $txt_id = ''
 
ILIAS Language Language $lng
 
CustomConstraint $constraint
 

Detailed Description

Definition at line 25 of file CustomTest.php.

Member Function Documentation

◆ setUp()

CustomTest::setUp ( )
protected

Definition at line 31 of file CustomTest.php.

References $lng, $txt, ILIAS\Refinery\getLngClosure(), and ILIAS\Repository\lng().

31  : void
32  {
33  $is_ok = static function ($value): bool {
34  return false;
35  };
36  $this->txt_id = "TXT_ID";
37  $error = function (callable $txt, $value): string {
38  return $txt($this->txt_id, $value);
39  };
40  $this->lng = $this->createMock(ILIAS\Language\Language::class);
41  $this->constraint = new class ($is_ok, $error, new DataFactory(), $this->lng) extends CustomConstraint {
42  public function _getLngClosure(): Closure
43  {
44  return $this->getLngClosure();
45  }
46  };
47  }
Interface Observer Contains several chained tasks and infos about them.
ILIAS Language Language $lng
Definition: CustomTest.php:28
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getLngClosure()
Get the closure to be passed to the error-function that does i18n and sprintf.
$txt
Definition: error.php:31
+ Here is the call graph for this function:

◆ test_exception_on_no_parameter()

CustomTest::test_exception_on_no_parameter ( )

Definition at line 83 of file CustomTest.php.

83  : void
84  {
85  $lng_closure = $this->constraint->_getLngClosure();
86 
87  $this->expectException(ArgumentCountError::class);
88 
89  $lng_closure();
90  }

◆ test_gracefully_handle_arrays_and_objects()

CustomTest::test_gracefully_handle_arrays_and_objects ( )

Definition at line 108 of file CustomTest.php.

References $res, ILIAS\Repository\lng(), and null.

108  : void
109  {
110  $lng_closure = $this->constraint->_getLngClosure();
111 
112  $this->lng
113  ->expects($this->once())
114  ->method("txt")
115  ->with("id")
116  ->willReturn("%s-%s-%s-%s-");
117 
118  $res = $lng_closure("id", [], new stdClass(), "foo", null);
119 
120  $this->assertEquals("array-" . stdClass::class . "-foo-null-", $res);
121  }
$res
Definition: ltiservices.php:66
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ test_no_sprintf_on_one_parameter()

CustomTest::test_no_sprintf_on_one_parameter ( )

Definition at line 92 of file CustomTest.php.

References $res, and ILIAS\Repository\lng().

92  : void
93  {
94  $lng_closure = $this->constraint->_getLngClosure();
95 
96  $txt_out = "txt";
97  $this->lng
98  ->expects($this->once())
99  ->method("txt")
100  ->with($this->txt_id)
101  ->willReturn($txt_out);
102 
103  $res = $lng_closure($this->txt_id);
104 
105  $this->assertEquals($txt_out, $res);
106  }
$res
Definition: ltiservices.php:66
+ Here is the call graph for this function:

◆ test_use_txt()

CustomTest::test_use_txt ( )

Definition at line 68 of file CustomTest.php.

References ILIAS\Repository\lng().

68  : void
69  {
70  $txt_out = "'%s'";
71  $this->lng
72  ->expects($this->once())
73  ->method("txt")
74  ->with($this->txt_id)
75  ->willReturn($txt_out);
76 
77  $value = "VALUE";
78  $problem = $this->constraint->problemWith($value);
79 
80  $this->assertEquals(sprintf($txt_out, $value), $problem);
81  }
+ Here is the call graph for this function:

◆ testProblemBuilderRetrievesLngClosure()

CustomTest::testProblemBuilderRetrievesLngClosure ( )

Definition at line 57 of file CustomTest.php.

References $c, $txt, and null.

57  : void
58  {
59  $cls = null;
60  $c = $this->constraint->withProblemBuilder(function ($txt) use (&$cls): string {
61  $cls = $txt;
62  return "";
63  });
64  $c->problemWith("");
65  $this->assertIsCallable($cls);
66  }
$c
Definition: deliver.php:25
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$txt
Definition: error.php:31

◆ testWithProblemBuilder()

CustomTest::testWithProblemBuilder ( )

Definition at line 49 of file CustomTest.php.

49  : void
50  {
51  $new_constraint = $this->constraint->withProblemBuilder(static function (): string {
52  return "This was a fault";
53  });
54  $this->assertEquals("This was a fault", $new_constraint->problemWith(""));
55  }

Field Documentation

◆ $constraint

CustomConstraint CustomTest::$constraint
private

Definition at line 29 of file CustomTest.php.

◆ $lng

ILIAS Language Language CustomTest::$lng
private

Definition at line 28 of file CustomTest.php.

Referenced by setUp().

◆ $txt_id

string CustomTest::$txt_id = ''
private

Definition at line 27 of file CustomTest.php.


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