| [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 |
|---|