19declare(strict_types=1);
30use PHPUnit\Framework\TestCase;
31use PHPUnit\Framework\Attributes\DataProvider;
41 $this->k = $this->createMock(DValue::class);
42 $this->v = $this->createMock(Description::class);
44 $this->createMock(\
ILIAS\
Data\Text\SimpleDocumentMarkdown::class),
50 #[DataProvider('obviousNoMatchProvider')]
53 $res = $this->m->getPrimitiveRepresentation(
$data);
55 $this->assertInstanceOf(\Closure::class,
$res);
56 $errors = iterator_to_array(
$res());
57 $this->assertCount(1, $errors);
58 $this->assertTrue(is_string($errors[0]));
64 [1], [
"1"], [
null], [
true], [new \StdClass()], [new \DateTimeImmutable()]
70 $res = $this->m->getPrimitiveRepresentation([]);
72 $this->assertEquals([],
$res);
83 $this->k->expects($this->exactly(2))
84 ->method(
"getPrimitiveRepresentation")
85 ->willReturnCallback(
function (
$v) use (&$keys) {
86 array_push($keys,
$v);
87 return array_shift($keys);
91 $this->v->expects($this->exactly(2))
92 ->method(
"getPrimitiveRepresentation")
93 ->willReturnCallback(
function (
$v) use (&$values) {
94 array_push($values,
$v);
95 return array_shift($values);
103 $res = $this->m->getPrimitiveRepresentation(
$data);
105 $this->assertEquals($expected,
$res);
106 $this->assertEquals([
"a",
"b"], $keys);
107 $this->assertEquals([1, 2], $values);
115 ->method(
"getPrimitiveRepresentation")
119 ->method(
"getPrimitiveRepresentation")
120 ->willReturn(fn() => yield
"FAILURE");
122 $res = $this->m->getPrimitiveRepresentation(
$data);
124 $this->assertInstanceOf(\Closure::class,
$res);
125 $errors = iterator_to_array(
$res());
126 $this->assertCount(1, $errors);
127 $this->assertTrue(is_string($errors[0]));
128 $this->assertTrue(str_contains($errors[0],
"FAILURE"));
136 ->method(
"getPrimitiveRepresentation")
137 ->willReturn(fn() => yield
"FAILURE");
140 ->method(
"getPrimitiveRepresentation")
143 $res = $this->m->getPrimitiveRepresentation(
$data);
145 $this->assertInstanceOf(\Closure::class,
$res);
146 $errors = iterator_to_array(
$res());
147 $this->assertCount(1, $errors);
148 $this->assertTrue(is_string($errors[0]));
149 $this->assertTrue(str_contains($errors[0],
"FAILURE"));
testFailsOnValueFailure()
static obviousNoMatchProvider()
testForwardsToSubDescriptions()
testObviouslyNotMatching($data)
This describes some datastructure in terms of standard data structures such as primitives,...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.