ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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.

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 }
ILIAS Language Language $lng
Definition: CustomTest.php:28
$txt
Definition: error.php:31
getLngClosure()
Get the closure to be passed to the error-function that does i18n and sprintf.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.

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

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

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:69

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

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

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 }

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

+ Here is the call graph for this function:

◆ test_use_txt()

CustomTest::test_use_txt ( )

Definition at line 68 of file CustomTest.php.

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 }

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ testProblemBuilderRetrievesLngClosure()

CustomTest::testProblemBuilderRetrievesLngClosure ( )

Definition at line 57 of file CustomTest.php.

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

References $c, and $txt.

◆ 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: