19declare(strict_types=1);
30use PHPUnit\Framework\TestCase;
40 $this->k = $this->createMock(DValue::class);
41 $this->v = $this->createMock(Description::class);
43 $this->createMock(\
ILIAS\
Data\Text\SimpleDocumentMarkdown::class),
54 $res = $this->m->getPrimitiveRepresentation(
$data);
56 $this->assertInstanceOf(\Closure::class,
$res);
57 $errors = iterator_to_array(
$res());
58 $this->assertCount(1, $errors);
59 $this->assertTrue(is_string($errors[0]));
65 [1], [
"1"], [
null], [
true], [new \StdClass()], [new \DateTimeImmutable()]
71 $res = $this->m->getPrimitiveRepresentation([]);
73 $this->assertEquals([],
$res);
84 $this->k->expects($this->exactly(2))
85 ->method(
"getPrimitiveRepresentation")
86 ->willReturnCallback(
function (
$v) use (&$keys) {
87 array_push($keys,
$v);
88 return array_shift($keys);
92 $this->v->expects($this->exactly(2))
93 ->method(
"getPrimitiveRepresentation")
94 ->willReturnCallback(
function (
$v) use (&$values) {
95 array_push($values,
$v);
96 return array_shift($values);
104 $res = $this->m->getPrimitiveRepresentation(
$data);
106 $this->assertEquals($expected,
$res);
107 $this->assertEquals([
"a",
"b"], $keys);
108 $this->assertEquals([1, 2], $values);
116 ->method(
"getPrimitiveRepresentation")
120 ->method(
"getPrimitiveRepresentation")
121 ->willReturn(fn() => yield
"FAILURE");
123 $res = $this->m->getPrimitiveRepresentation(
$data);
125 $this->assertInstanceOf(\Closure::class,
$res);
126 $errors = iterator_to_array(
$res());
127 $this->assertCount(1, $errors);
128 $this->assertTrue(is_string($errors[0]));
129 $this->assertTrue(str_contains($errors[0],
"FAILURE"));
137 ->method(
"getPrimitiveRepresentation")
138 ->willReturn(fn() => yield
"FAILURE");
141 ->method(
"getPrimitiveRepresentation")
144 $res = $this->m->getPrimitiveRepresentation(
$data);
146 $this->assertInstanceOf(\Closure::class,
$res);
147 $errors = iterator_to_array(
$res());
148 $this->assertCount(1, $errors);
149 $this->assertTrue(is_string($errors[0]));
150 $this->assertTrue(str_contains($errors[0],
"FAILURE"));
testFailsOnValueFailure()
static obviousNoMatchProvider()
testForwardsToSubDescriptions()
testObviouslyNotMatching($data)
@dataProvider obviousNoMatchProvider
This describes some datastructure in terms of standard data structures such as primitives,...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.