/** * {@inheritdoc} */ protected function createGuesser() { $seoMetadata = new SeoMetadata(); $seoMetadata->setTitle('Symfony CMF'); $seoPresentation = $this->getMockBuilder('Symfony\\Cmf\\Bundle\\SeoBundle\\SeoPresentation')->disableOriginalConstructor()->getMock(); $seoPresentation->expects($this->any())->method('getSeoMetadata')->with($this)->will($this->returnValue($seoMetadata)); return new SeoMetadataTitleGuesser($seoPresentation); }
public function testSeoMetadata() { $content = new SeoAwareOrmContent(); $content->setTitle('Seo Aware test')->setBody('Content for SeoAware Test'); $seoMetadata = new SeoMetadata(); $seoMetadata->setTitle('Seo Title')->setMetaDescription('Seo Description')->setMetaKeywords('Seo, Keys')->setOriginalUrl('/test')->setExtraProperties(array('og:title' => 'Extra title'))->setExtraNames(array('robots' => 'index, follow'))->setExtraHttp(array('content-type' => 'text/html')); $content->setSeoMetadata($seoMetadata); $this->getEm()->persist($content); $this->getEm()->flush(); $this->getEm()->clear(); $content = $this->getEm()->getRepository('Symfony\\Cmf\\Bundle\\SeoBundle\\Tests\\Resources\\Entity\\SeoAwareOrmContent')->findOneByTitle('Seo Aware test'); $this->assertNotNull($content); $persistedSeoMetadata = $content->getSeoMetadata(); $this->assertEquals($seoMetadata, $persistedSeoMetadata); }
public function testValidSeoChannelContent() { $title = 'Title'; $description = 'Lorem ipsum dolor sit amet..'; $url = 'http://lorem.ipsum'; $seoMetadata = new SeoMetadata(); $seoMetadata->setTitle($title); $seoMetadata->setMetaDescription($description); $seoMetadata->setOriginalUrl($url); $seoAware = $this->getMock('Symfony\\Cmf\\Bundle\\SeoBundle\\SeoAwareInterface'); $seoAware->expects($this->once())->method('getSeoMetadata')->will($this->returnValue($seoMetadata)); $this->assertTrue($this->extractor->supports($seoAware)); $channel = new Channel(); $this->extractor->updateMetadata($seoAware, $channel); $this->assertSame($title, $channel->getTitle()); $this->assertSame($description, $channel->getDescription()); $this->assertSame($url, $channel->getLink()); }
public function testDataClassCreationForNonPhpcr() { $this->validator->expects($this->any())->method('validate')->will($this->returnValue(array())); $formData = array('title' => 'Title', 'originalUrl' => 'original/url', 'extraProperties' => array(), 'extraNames' => array(), 'extraHttp' => array()); $form = $this->factory->create(SeoMetadataTypeTest_OrmType::class); $this->assertFalse($form->getConfig()->getByReference()); $object = new SeoMetadataModel(); $object->setTitle($formData['title']); $object->setOriginalUrl($formData['originalUrl']); $object->setExtraNames($formData['extraNames']); $object->setExtraHttp($formData['extraHttp']); $object->setExtraProperties($formData['extraProperties']); // submit the data to the form directly $form->submit($formData); $this->assertTrue($form->isSynchronized()); $this->assertEquals($object, $form->getData()); }
/** * Copy the metadata object to sanitize it and remove doctrine traces. * * @param SeoMetadataInterface $contentSeoMetadata * * @return SeoMetadata */ private function copyMetadata(SeoMetadataInterface $contentSeoMetadata) { $metadata = new SeoMetadata(); return $metadata->setTitle($contentSeoMetadata->getTitle())->setMetaKeywords($contentSeoMetadata->getMetaKeywords())->setMetaDescription($contentSeoMetadata->getMetaDescription())->setOriginalUrl($contentSeoMetadata->getOriginalUrl())->setExtraProperties($contentSeoMetadata->getExtraProperties() ?: array())->setExtraNames($contentSeoMetadata->getExtraNames() ?: array())->setExtraHttp($contentSeoMetadata->getExtraHttp() ?: array()); }