19declare(strict_types=1);
21use PHPUnit\Framework\TestCase;
22use PHPUnit\Framework\MockObject\Stub;
32 $item = $this->getStubBuilder(ilWebLinkItemInternal::class)
33 ->setConstructorArgs([
40 new DateTimeImmutable(),
41 new DateTimeImmutable(),
44 ->onlyMethods([
'appendParameter',
'getStaticLink'])
46 $item->method(
'appendParameter')->willReturnCallback(
47 fn(
string $link,
string $key,
string $value) => $link .
'.' . $key .
'.' . $value
49 $item->method(
'getStaticLink')->willReturnCallback(
50 fn(
int $ref_id,
string $type) => $type .
':' . $ref_id
57 $param1 = $this->createMock(ilWebLinkParameter::class);
58 $param1->expects($this->once())
59 ->method(
'appendToLink')
61 ->willReturn(
'tar:13?param1');
62 $param2 = $this->createMock(ilWebLinkParameter::class);
63 $param2->expects($this->once())
64 ->method(
'appendToLink')
65 ->with(
'tar:13?param1')
66 ->willReturn(
'tar:13?param1¶m2');
68 $item = $this->
getItem(
'tar|13', $param1, $param2);
70 'tar:13?param1¶m2',
71 $item->getResolvedLink(
true)
75 $item->getResolvedLink(
false)
78 $item = $this->
getItem(
'wpage|14', $param1, $param2);
80 'wiki:0.target.wiki_wpage_14',
81 $item->getResolvedLink(
false)
84 $item = $this->
getItem(
'term|15', $param1, $param2);
86 'git:0.target.git_15',
87 $item->getResolvedLink(
false)
90 $item = $this->
getItem(
'page|16', $param1, $param2);
93 $item->getResolvedLink(
false)
Immutable class for internal Web Link items.
Immutable class for parameters attached to Web Link items.
Unit tests for ilWebLinkItemInternal.
getItem(string $target, ilWebLinkParameter ... $parameters)