19 declare(strict_types=1);
21 require_once(__DIR__ .
"/../../../../../../vendor/composer/vendor/autoload.php");
22 require_once(__DIR__ .
"/../../Base.php");
35 public function legacy(): IC\Legacy\Factory
37 return new IC\Legacy\Factory(
new IC\SignalGenerator());
46 $this->assertInstanceOf(
"ILIAS\\UI\\Factory",
$f);
47 $this->assertInstanceOf(
48 "ILIAS\\UI\\Component\\Legacy\\Content",
49 $f->legacy()->content(
"Legacy Content")
51 $this->assertInstanceOf(
52 "ILIAS\\UI\\Component\\Legacy\\LatexContent",
53 $f->legacy()->latexContent(
"Latex Content")
60 $g =
$f->legacy()->content(
"Legacy Content");
61 $l =
$f->legacy()->latexContent(
"Latex Content");
63 $this->assertEquals(
"Legacy Content", $g->getContent());
64 $this->assertEquals(
"Latex Content", $l->getContent());
71 $r = $this->getDefaultRenderer();
73 $g =
$f->legacy()->content(
"Legacy Content");
74 $l =
$f->legacy()->latexContent(
"Latex Content");
76 $rendered_latex =
'<div style="display: inherit;" class="c-legacy__content--latex">Latex Content</div>';
78 $this->assertEquals(
"Legacy Content",
$r->render($g));
79 $this->assertEquals($rendered_latex,
$r->render($l));
82 #[\PHPUnit\Framework\Attributes\DoesNotPerformAssertions] 86 $signal_name =
'Custom Signal';
88 $f->legacy()->content(
'')->withCustomSignal($signal_name,
'');
94 $signal_name =
'Custom Signal';
95 $g =
$f->legacy()->content(
'')->withCustomSignal($signal_name,
'');
97 $this->assertNotNull($g->getCustomSignal($signal_name));
103 $signal_name =
'Custom Signal';
104 $g =
$f->legacy()->content(
'');
106 $this->expectException(InvalidArgumentException::class);
107 $this->expectExceptionMessage(
"Signal with name $signal_name is not registered");
108 $g->getCustomSignal($signal_name);
114 $signal_name_1 =
'Custom Signal 1';
115 $signal_name_2 =
'Custom Signal 2';
117 $g =
$f->legacy()->content(
'')->withCustomSignal($signal_name_1,
'')->withCustomSignal($signal_name_2,
'');
118 $l = $g->getAllCustomSignals();
120 $this->assertIsArray($l);
126 $signal_name_1 =
'Custom Signal 1';
127 $custom_code_1 =
'custom_js1();';
128 $signal_name_2 =
'Custom Signal 2';
129 $custom_code_2 =
'custom_js2();';
131 $g =
$f->legacy()->content(
'')
132 ->withCustomSignal($signal_name_1, $custom_code_1)
133 ->withCustomSignal($signal_name_2, $custom_code_2);
134 $signal_list = $g->getAllCustomSignals();
136 $this->assertEquals(2, count($signal_list));
137 $this->assertEquals($signal_list[$signal_name_1][
'js_code'], $custom_code_1);
138 $this->assertEquals($signal_list[$signal_name_2][
'js_code'], $custom_code_2);
testCreateWithCustomSignal()
testImplementsFactoryInterface()
testGetNonExistingCustomSignal()
legacy()
expected output: > ILIAS shows the rendered Component.
Test on button implementation.
testGetListWithCustomSignalsAndCode()
testGetExistingCustomSignal()