add test for VirtualPage meta tags

This commit is contained in:
Florian Thoma 2021-11-04 10:17:58 +11:00
parent 7004492eea
commit d2ae1b51ab
1 changed files with 17 additions and 0 deletions

View File

@ -7,6 +7,7 @@ use SilverStripe\CMS\Controllers\ModelAsController;
use SilverStripe\CMS\Model\RedirectorPage;
use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\CMS\Model\VirtualPage;
use SilverStripe\Control\ContentNegotiator;
use SilverStripe\Core\Config\Config;
use SilverStripe\Dev\FunctionalTest;
use SilverStripe\ORM\DataObject;
@ -93,6 +94,22 @@ class VirtualPageTest extends FunctionalTest
$this->assertEquals("<p>New content</p>", $vp2->Content);
}
public function testMetaTags()
{
$this->logInWithPermission('ADMIN');
$master = $this->objFromFixture('Page', 'master');
$vp1 = $this->objFromFixture(VirtualPage::class, 'vp1');
// Test with title
$meta = $vp1->MetaTags();
$charset = Config::inst()->get(ContentNegotiator::class, 'encoding');
$this->assertContains('<meta http-equiv="Content-Type" content="text/html; charset='.$charset.'"', $meta);
$this->assertContains('<link rel="canonical" href="'.$master->AbsoluteLink().'"', $meta);
$this->assertContains('<meta name="x-page-id" content="'.$vp1->ID.'"', $meta);
$this->assertContains('<meta name="x-cms-edit-link" content="'.$vp1->CMSEditLink().'"', $meta);
$this->assertContains('<title>'.$master->Title.'</title>', $meta);
}
/**
* Test that, after you publish the source page of a virtual page, all the already published
* virtual pages are published