[1493] | 1 | import re |
---|
[1877] | 2 | from base import * |
---|
[1493] | 3 | |
---|
[1893] | 4 | GENERATOR = re.compile('.*(<meta\s+(?:(?:name="generator"\s*)|' \ |
---|
| 5 | '(?:content=".*?"\s*)){2}/>)', re.S|re.M) |
---|
| 6 | DESCRIPTION = re.compile('.*(<meta\s+(?:(?:name="description"\s*)|' \ |
---|
| 7 | '(?:content=".*?"\s*)){2}/>)', re.S|re.M) |
---|
| 8 | |
---|
[1493] | 9 | class TestMetaTagsDuplication(FunctionalTestCase): |
---|
| 10 | |
---|
| 11 | def afterSetUp(self): |
---|
| 12 | self.qi = self.portal.portal_quickinstaller |
---|
[1893] | 13 | # Preparation for functional testing |
---|
| 14 | self.loginAsPortalOwner() |
---|
[1493] | 15 | self.my_doc = self.portal.invokeFactory('Document', id='my_doc') |
---|
| 16 | self.my_doc = self.portal['my_doc'] |
---|
| 17 | self.my_doc.update(description="Document description") |
---|
[1893] | 18 | self.portal.portal_workflow.doActionFor(self.my_doc, 'publish') |
---|
| 19 | self.logout() |
---|
[1493] | 20 | # Get document without customized canonical url |
---|
[1893] | 21 | self.abs_path = "/%s" % self.my_doc.absolute_url(1) |
---|
| 22 | self.html = self.publish(self.abs_path).getBody() |
---|
[1493] | 23 | |
---|
[1893] | 24 | def test_GeneratorMetaSEOInstalled(self): |
---|
| 25 | lengen = len(GENERATOR.findall(self.html)) |
---|
[1493] | 26 | self.assert_(lengen==1, "There is %d generator meta tag(s) " \ |
---|
[1893] | 27 | "when seoptimizer installed" % lengen) |
---|
| 28 | |
---|
| 29 | def test_GeneratorMetaSEOUninstalled(self): |
---|
| 30 | self.qi.uninstallProducts([PROJECT_NAME,]) |
---|
| 31 | lengen = len(GENERATOR.findall(self.html)) |
---|
| 32 | self.assert_(lengen<=1, "There is %d generator meta tag(s) " \ |
---|
| 33 | "when seoptimizer uninstalled" % lengen) |
---|
[1493] | 34 | |
---|
[1893] | 35 | def test_DescriptionMetaSEOInstalled(self): |
---|
| 36 | lendesc = len(DESCRIPTION.findall(self.html)) |
---|
| 37 | self.assert_(lendesc==1, "There is %d DESCRIPTION meta tag(s) " \ |
---|
| 38 | "when seoptimizer installed" % lendesc) |
---|
[1493] | 39 | |
---|
[1893] | 40 | def test_DescriptionMetaSEOUninstalled(self): |
---|
| 41 | self.qi.uninstallProducts([PROJECT_NAME,]) |
---|
| 42 | lendesc = len(DESCRIPTION.findall(self.html)) |
---|
[1493] | 43 | self.assert_(lendesc==1, "There is %d DESCRIPTION meta tag(s) " \ |
---|
[1893] | 44 | "when seoptimizer uninstalled" % lendesc) |
---|
[1493] | 45 | |
---|
[1893] | 46 | |
---|
[1493] | 47 | def test_suite(): |
---|
| 48 | from unittest import TestSuite, makeSuite |
---|
| 49 | suite = TestSuite() |
---|
| 50 | suite.addTest(makeSuite(TestMetaTagsDuplication)) |
---|
| 51 | return suite |
---|