diff --git a/code/Model/SiteTree.php b/code/Model/SiteTree.php index f9e1a72c..1ccd750a 100755 --- a/code/Model/SiteTree.php +++ b/code/Model/SiteTree.php @@ -301,7 +301,7 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi * @config * @var string */ - private static $meta_generator = 'SilverStripe - http://silverstripe.org'; + private static $meta_generator = 'SilverStripe - https://www.silverstripe.org'; protected $_cache_statusFlags = null; diff --git a/code/Search/ContentControllerSearchExtension.php b/code/Search/ContentControllerSearchExtension.php index 42fdbaee..4a79d099 100644 --- a/code/Search/ContentControllerSearchExtension.php +++ b/code/Search/ContentControllerSearchExtension.php @@ -26,17 +26,18 @@ class ContentControllerSearchExtension extends Extension */ public function SearchForm() { - $searchText = _t('SilverStripe\\CMS\\Search\\SearchForm.SEARCH', 'Search'); - + $searchText = ''; if ($this->owner->getRequest() && $this->owner->getRequest()->getVar('Search')) { $searchText = $this->owner->getRequest()->getVar('Search'); } - $fields = new FieldList( - new TextField('Search', false, $searchText) + $placeholder = _t('SilverStripe\\CMS\\Search\\SearchForm.SEARCH', 'Search'); + $fields = FieldList::create( + TextField::create('Search', false, $searchText) + ->setAttribute('placeholder', $placeholder) ); - $actions = new FieldList( - new FormAction('results', _t('SilverStripe\\CMS\\Search\\SearchForm.GO', 'Go')) + $actions = FieldList::create( + FormAction::create('results', _t('SilverStripe\\CMS\\Search\\SearchForm.GO', 'Go')) ); /** @skipUpgrade */ $form = SearchForm::create($this->owner, 'SearchForm', $fields, $actions); diff --git a/tests/php/Model/SiteTreeTest.php b/tests/php/Model/SiteTreeTest.php index 067e9284..90cb7a4c 100644 --- a/tests/php/Model/SiteTreeTest.php +++ b/tests/php/Model/SiteTreeTest.php @@ -1277,35 +1277,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); }