From 7554b6132506a48f5aa53a980640369146e78f87 Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Sun, 2 Dec 2018 18:20:44 +0000 Subject: [PATCH] Update meta generator tests to use isolated configuration and better assertions --- tests/php/Model/SiteTreeTest.php | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/tests/php/Model/SiteTreeTest.php b/tests/php/Model/SiteTreeTest.php index da5cdab2..c64ed2ca 100644 --- a/tests/php/Model/SiteTreeTest.php +++ b/tests/php/Model/SiteTreeTest.php @@ -1227,35 +1227,36 @@ class SiteTreeTest extends SapphireTest { $generator = Config::inst()->get(SiteTree::class, 'meta_generator'); + // Stub to ensure customisations don't affect the test + Config::modify()->set(SiteTree::class, 'meta_generator', 'SilverStripe - https://www.silverstripe.org'); + $page = new SiteTreeTest_PageNode(); $meta = $page->MetaTags(); - $this->assertEquals( - 1, - preg_match('/.*meta name="generator" content="SilverStripe - http:\/\/silverstripe.org".*/', $meta), - 'test default functionality - uses value from Config' + $this->assertContains('meta name="generator"', $meta, 'Should include generator tag'); + $this->assertContains( + 'content="SilverStripe - https://www.silverstripe.org', + $meta, + 'Should contain default meta generator info' ); // test proper escaping of quotes in attribute value Config::modify()->set(SiteTree::class, 'meta_generator', 'Generator with "quotes" in it'); $meta = $page->MetaTags(); - $this->assertEquals( - 1, - preg_match('/.*meta name="generator" content="Generator with "quotes" in it".*/', $meta), + $this->assertContains( + 'content="Generator with "quotes" in it', + $meta, 'test proper escaping of values from Config' ); // test empty generator - no tag should appear at all Config::modify()->set(SiteTree::class, 'meta_generator', ''); $meta = $page->MetaTags(); - $this->assertEquals( - 0, - preg_match('/.*meta name=.generator..*/', $meta), + $this->assertNotContains( + 'meta name="generator"', + $meta, 'test blank value means no tag generated' ); - - // reset original value - Config::modify()->set(SiteTree::class, 'meta_generator', $generator); }