22
33namespace Tests \Localized ;
44
5- use Illuminate \Pagination \LengthAwarePaginator ;
6- use Statamic \Facades \Antlers ;
7- use Statamic \Facades \Blink ;
8- use Statamic \Facades \Collection ;
95use Statamic \Facades \Config ;
10- use Statamic \Facades \Data ;
11- use Statamic \Facades \Entry ;
12- use Statamic \Facades \Site ;
13- use Statamic \Support \Str ;
14- use Statamic \View \Cascade ;
6+ use Tests \MetaProviders ;
157
168class MetaTagTest extends TestCase
179{
18- private function meta ($ uri = null )
19- {
20- $ site = Site::current ();
21- $ data = Data::findByUri (Str::ensureLeft ($ uri , '/ ' ), $ site ->handle ());
22- $ context = (new Cascade (request (), $ site ))->withContent ($ data )->hydrate ()->toArray ();
23-
24- return (string ) Antlers::parse ('{{ seo_pro:meta }} ' , $ context );
25- }
10+ use MetaProviders;
2611
27- /** @test */
28- public function it_generates_multisite_meta ()
12+ /**
13+ * @test
14+ * @dataProvider metaProvider
15+ */
16+ public function it_generates_multisite_meta ($ metaProvider )
2917 {
3018 $ expectedOgLocaleMeta = <<<'EOT'
3119<meta property="og:locale" content="en_US" />
@@ -39,14 +27,17 @@ public function it_generates_multisite_meta()
3927<link rel="alternate" href="http://cool-runnings.com/it" hreflang="it" />
4028EOT;
4129
42- $ meta = $ this ->meta ();
30+ $ meta = $ this ->{ $ metaProvider } ();
4331
4432 $ this ->assertStringContainsString ($ expectedOgLocaleMeta , $ meta );
4533 $ this ->assertStringContainsString ($ expectedAlternateHreflangMeta , $ meta );
4634 }
4735
48- /** @test */
49- public function it_generates_multisite_meta_for_non_home_page_route ()
36+ /**
37+ * @test
38+ * @dataProvider metaProvider
39+ */
40+ public function it_generates_multisite_meta_for_non_home_page_route ($ metaProvider )
5041 {
5142 $ expectedOgLocaleMeta = <<<'EOT'
5243<meta property="og:locale" content="en_US" />
@@ -60,36 +51,45 @@ public function it_generates_multisite_meta_for_non_home_page_route()
6051<link rel="alternate" href="http://cool-runnings.com/it/about" hreflang="it" />
6152EOT;
6253
63- $ meta = $ this ->meta ('about ' );
54+ $ meta = $ this ->{ $ metaProvider } ('about ' );
6455
6556 $ this ->assertStringContainsString ($ expectedOgLocaleMeta , $ meta );
6657 $ this ->assertStringContainsString ($ expectedAlternateHreflangMeta , $ meta );
6758 }
6859
69- /** @test */
70- public function it_doesnt_generate_multisite_meta_when_it_doesnt_exist_for_page ()
60+ /**
61+ * @test
62+ * @dataProvider metaProvider
63+ */
64+ public function it_doesnt_generate_multisite_meta_when_it_doesnt_exist_for_page ($ metaProvider )
7165 {
72- $ meta = $ this ->meta ('articles ' );
66+ $ meta = $ this ->{ $ metaProvider } ('articles ' );
7367
7468 $ this ->assertStringContainsString ('og:locale ' , $ meta );
7569 $ this ->assertStringNotContainsString ('og:locale:alternate ' , $ meta );
7670 $ this ->assertStringNotContainsString ('hreflang ' , $ meta );
7771 }
7872
79- /** @test */
80- public function it_doesnt_generate_multisite_meta_when_alternate_locales_are_disabled ()
73+ /**
74+ * @test
75+ * @dataProvider metaProvider
76+ */
77+ public function it_doesnt_generate_multisite_meta_when_alternate_locales_are_disabled ($ metaProvider )
8178 {
8279 Config::set ('statamic.seo-pro.alternate_locales ' , false );
8380
84- $ meta = $ this ->meta ();
81+ $ meta = $ this ->{ $ metaProvider } ();
8582
8683 $ this ->assertStringContainsString ('og:locale ' , $ meta );
8784 $ this ->assertStringNotContainsString ('og:locale:alternate ' , $ meta );
8885 $ this ->assertStringNotContainsString ('hreflang ' , $ meta );
8986 }
9087
91- /** @test */
92- public function it_doesnt_generate_multisite_meta_for_excluded_sites ()
88+ /**
89+ * @test
90+ * @dataProvider metaProvider
91+ */
92+ public function it_doesnt_generate_multisite_meta_for_excluded_sites ($ metaProvider )
9393 {
9494 Config::set ('statamic.seo-pro.alternate_locales.excluded_sites ' , ['french ' ]);
9595
@@ -103,7 +103,7 @@ public function it_doesnt_generate_multisite_meta_for_excluded_sites()
103103<link rel="alternate" href="http://cool-runnings.com/it" hreflang="it" />
104104EOT;
105105
106- $ meta = $ this ->meta ();
106+ $ meta = $ this ->{ $ metaProvider } ();
107107
108108 $ this ->assertStringContainsString ($ expectedOgLocaleMeta , $ meta );
109109 $ this ->assertStringContainsString ($ expectedAlternateHreflangMeta , $ meta );
0 commit comments