18 declare(strict_types=1);
    35     protected function setUp(): void
    42         $property = 
'test_property';
    43         $value = 
'test_value';
    45         $link_tag = 
new Text($property, $value);
    48             "<meta property=\"$property\" content=\"$value\" />",
    55         $property = 
'test_property';
    56         $value = 
'test_value';
    61             "<meta property=\"$property\" content=\"$value\" />",
    68         $expected_url = 
'test_url';
    69         $expected_mime = 
'test_mime_type';
    71             "<meta property=\"og:audio\" content=\"$expected_url\" />" . PHP_EOL .
    72             "<meta property=\"og:audio:type\" content=\"$expected_mime\" />" . PHP_EOL;
    74         $audio_tag = $this->factory->audio($this->
getMockedUrl($expected_url), $expected_mime);
    76         $this->assertEquals($expected_html, $audio_tag->toHtml());
    81         $expected_url = 
'test_url';
    82         $expected_mime = 
'test_mime_type';
    83         $expected_alt = 
'test_aria_label';
    84         $expected_width = 200;
    85         $expected_height = 100;
    87             "<meta property=\"og:image\" content=\"$expected_url\" />" . PHP_EOL .
    88             "<meta property=\"og:image:type\" content=\"$expected_mime\" />" . PHP_EOL .
    89             "<meta property=\"og:image:alt\" content=\"$expected_alt\" />" . PHP_EOL .
    90             "<meta property=\"og:image:width\" content=\"$expected_width\" />" . PHP_EOL .
    91             "<meta property=\"og:image:height\" content=\"$expected_height\" />" . PHP_EOL;
    93         $image_tag = $this->factory->image(
   101         $this->assertEquals($expected_html, $image_tag->toHtml());
   106         $expected_url = 
'test_url';
   107         $expected_mime = 
'test_mime_type';
   108         $expected_width = 200;
   109         $expected_height = 100;
   111             "<meta property=\"og:video\" content=\"$expected_url\" />" . PHP_EOL .
   112             "<meta property=\"og:video:type\" content=\"$expected_mime\" />" . PHP_EOL .
   113             "<meta property=\"og:video:width\" content=\"$expected_width\" />" . PHP_EOL .
   114             "<meta property=\"og:video:height\" content=\"$expected_height\" />" . PHP_EOL;
   116         $video_tag = $this->factory->video(
   123         $this->assertEquals($expected_html, $video_tag->toHtml());
   128         $expected_canonical_url = 
'test_canonical_url';
   129         $expected_image_html = 
'test_image_html';
   130         $expected_object_title = 
'test_object_title';
   131         $expected_website_name = 
'test_website_name';
   132         $expected_description = 
'test_description';
   133         $expected_locale = 
'test_locale';
   134         $expected_locale_alt_1 = 
'test_locale_alt_1';
   135         $expected_locale_alt_2 = 
'test_locale_alt_2';
   136         $expected_additional_resource_html_1 = 
'test_additional_resource_html_1';
   137         $expected_additional_resource_html_2 = 
'test_additional_resource_html_2';
   140             "<meta property=\"og:type\" content=\"website\" />" . PHP_EOL .
   141             "<meta property=\"og:title\" content=\"test_object_title\" />" . PHP_EOL .
   142             "<meta property=\"og:url\" content=\"test_canonical_url\" />" . PHP_EOL .
   143             $expected_image_html . PHP_EOL .
   144             "<meta property=\"og:site_title\" content=\"test_website_name\" />" . PHP_EOL .
   145             "<meta property=\"og:description\" content=\"test_description\" />" . PHP_EOL .
   146             "<meta property=\"og:locale\" content=\"test_locale\" />" . PHP_EOL .
   147             "<meta property=\"og:locale:alternative\" content=\"test_locale_alt_1\" />" . PHP_EOL .
   148             "<meta property=\"og:locale:alternative\" content=\"test_locale_alt_2\" />" . PHP_EOL .
   149             $expected_additional_resource_html_1 . PHP_EOL .
   150             $expected_additional_resource_html_2 . PHP_EOL;
   152         $website_tag = $this->factory->website(
   155             $expected_object_title,
   156             $expected_website_name,
   157             $expected_description,
   160                 $expected_locale_alt_1,
   161                 $expected_locale_alt_2,
   169         $this->assertEquals($expected_html, $website_tag->toHtml());
   174         $mock_resource = $this->createMock(Resource::class);
   175         $mock_resource->method(
'toHtml')->willReturn($html);
   176         $mock_resource->method(
'getTags')->willReturnCallback(
   177             static function () use ($mock_resource): 
Generator {
   178                 yield $mock_resource;
   182         return $mock_resource;
   187         $mock_image = $this->createMock(Image::class);
   188         $mock_image->method(
'toHtml')->willReturn($html);
   189         $mock_image->method(
'getTags')->willReturnCallback(
   190             static function () use ($mock_image): 
Generator {
   200         $mock_url = $this->createMock(URI::class);
   201         $mock_url->method(
'__toString')->willReturn($url);
 
The scope of this class is split ilias-conform URI's into components.