Changeset 1872 in products


Ignore:
Timestamp:
Mar 10, 2010 1:59:57 PM (14 years ago)
Author:
mylan
Message:

#161: update testing 'keyword' metatag

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/tests/testUsageKeywords.py

    r1834 r1872  
    44from config import * 
    55 
     6KWSTMPL = '.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="%s"\s*)){2}/>)' 
    67 
    78class TestUsageKeywords(FunctionalTestCase): 
     
    2324        self.my_doc = self.portal['my_doc'] 
    2425 
    25     def test_listMetaTags_empty(self): 
     26 
     27    def test_noDefaultKeywords(self): 
     28        """No keywords added for the content by default""" 
    2629        metatags = self.pu.listMetaTags(self.my_doc) 
    2730        self.assert_('keywords' not in metatags) 
     31         
    2832 
    29     def test_listMetaTags_one(self): 
    30         self.my_doc.setText('<p>foo</p>') 
    31         self.my_doc.manage_addProperty('qSEO_keywords', ('foo',), 'lines') 
    32         self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    33         m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="foo"\s*)){2}/>)', self.html, re.S|re.M) 
    34         self.assert_(m, "No 'foo' keyword find") 
     33    def testrender_SEOKeywords(self): 
     34        """ """ 
     35        self.my_doc.setText('<p>foo bar</p>') 
     36        self.my_doc.manage_addProperty('qSEO_keywords', [], 'lines') 
    3537 
    36     def test_listMetaTags_two(self): 
    37         self.my_doc.setText('<p>foo bar</p>') 
    38         self.my_doc.manage_addProperty('qSEO_keywords', ('foo', 'bar'), 'lines') 
    39         self.html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    40         m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="(?:foo|bar),\s*(?:foo|bar)"\s*)){2}/>)', 
    41                      self.html, re.S|re.M) 
    42         self.assert_(m, "No 'foo, bar' keyword find") 
     38        for seokws in [('foo',), ('foo', 'bar')]: 
     39            self.my_doc._updateProperty('qSEO_keywords', seokws) 
     40            html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
     41            expect = ',\s*'.join(seokws) 
     42            self.assert_(re.match(KWSTMPL % expect, html, re.S|re.M), 
     43                         "No '%s' keyword found" % str(seokws)) 
    4344 
    44     def setup_testing_render_keywords(self, keywords=('local',), 
    45                                       html='<p>local subject</p>'): 
    46         self.my_doc.setText(html) 
    47         if len(keywords): 
    48             self.my_doc.manage_addProperty('qSEO_keywords', keywords, 'lines') 
    49         aq_inner(self.my_doc).aq_explicit.setSubject('subject') 
     45 
     46    def testbehave_NoSEOKeywordsOnlySubject(self): 
     47        self.my_doc.setText('<p>local subject</p>') 
     48        self.my_doc.setSubject('subject') 
    5049        html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
    51         return html 
    5250 
    53     def test_render_only_subject(self): 
    54         self.html = self.setup_testing_render_keywords(keywords=()) 
    55         m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="subject"\s*)){2}/>)', self.html, re.S|re.M) 
    56         self.assert_(m, "No 'subject' keyword find") 
     51        expect = "subject" 
     52        self.assert_(re.match(KWSTMPL % expect, html, re.S|re.M), 
     53                     "No '%s' keyword find" % expect) 
    5754 
    58     def test_render_only_local_seokeywords(self): 
    59         self.html = self.setup_testing_render_keywords() 
    60         m = re.match('.*(<meta\s+(?:(?:name="keywords"\s*)|(?:content="local\s*"\s*)){2}/>)', self.html, re.S|re.M) 
    61         self.assert_(m, "No 'local' keywords find") 
     55    def testbehave_SEOKeywordsOverrideSubject(self): 
     56        SEOKWS = ('local',) 
     57        self.my_doc.setText('<p>local subject</p>') 
     58        self.my_doc.setSubject('subject') 
     59        self.my_doc.manage_addProperty('qSEO_keywords', SEOKWS, 'lines') 
     60        html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
     61 
     62        expect = ',\s*'.join(SEOKWS) 
     63        self.assert_(re.match(KWSTMPL % expect, html, re.S|re.M), 
     64                     "No '%s' keywords find" % SEOKWS) 
     65 
     66    def testbehave_noSEOKeywordsNoSubject(self): 
     67        """Nor seo keywords not subject added""" 
     68        html = str(self.publish(self.portal.id+'/my_doc', self.basic_auth)) 
     69        self.assertFalse(re.match('.*(<meta\s[^\>]*name="keywords"[^\>]*>)', 
     70                                  html, re.S|re.M), "'keyword' meta tag found") 
    6271 
    6372 
Note: See TracChangeset for help on using the changeset viewer.