Changeset 1269 in products


Ignore:
Timestamp:
Sep 9, 2009 3:26:45 PM (10 years ago)
Author:
liebster
Message:

Added tests manage custom meta tags.

Location:
quintagroup.seoptimizer/trunk/quintagroup/seoptimizer
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/configure.zcml

    r1265 r1269  
    7575        layer=".interfaces.IPloneSEOLayer" 
    7676        permission="zope2.View" 
    77         allowed_attributes="seo_globalCustomMetaTags" 
    7877        /> 
    7978 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/skins/quintagroup.seoptimizer/qseo_properties_edit.cpy

    r1265 r1269  
    88##title=Update SEO Properties 
    99##parameters=title=None,description=None,canonical=None,keywords=None,html_comment=None,robots=None,distribution=None,title_override=0,description_override=0,canonical_override=0,keywords_override=0,html_comment_override=0,robots_override=0,distribution_override=0,custommetatags=[],custommetatags_override=0 
     10 
     11from Products.CMFCore.utils import getToolByName 
     12SEPERATOR = '|' 
    1013 
    1114def setProperty(context, property, value, type='string'): 
     
    2629if not custommetatags_override: custommetatags=[] 
    2730 
    28 globalCustomMetaTags = context.restrictedTraverse('@@seo_context').seo_globalCustomMetaTags() 
     31globalCustomMetaTags = [] 
     32site_properties = getToolByName(context, 'portal_properties') 
     33if hasattr(site_properties, 'seo_properties'): 
     34    custom_meta_tags = getattr(site_properties.seo_properties, 'default_custom_metatags', []) 
     35    for tag in custom_meta_tags: 
     36        name_value = tag.split(SEPERATOR) 
     37        if name_value[0]: 
     38            globalCustomMetaTags.append({'meta_name'    : name_value[0], 
     39                                         'meta_content' : len(name_value) == 1 and '' or name_value[1]}) 
     40 
    2941custom_updated = [] 
    3042for tag in custommetatags: 
  • quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/tests/testQSEOptimizer.py

    r1052 r1269  
    2424                    'meta_content' : 'metatag1value'}, 
    2525                   {'meta_name'    : 'metatag2', 
    26                     'meta_content' : 'metatag2value'}] 
     26                    'meta_content' : 'metatag2value'}, 
     27                   {'meta_name'    : 'metatag3', 
     28                    'meta_content' : ''} 
     29                  ] 
     30 
     31global_custom_metatags = {'default_custom_metatags':'metatag1|global_metatag1value\nmetatag4|global_metatag4value'} 
    2732 
    2833configlets = ({'id':'qSEOptimizer', 
     
    169174        my_doc = self.portal['my_doc'] 
    170175        self.canonurl = 'http://test.site.com/test.html' 
    171  
    172         my_doc.qseo_properties_edit(title='hello world', description='it is description', 
    173                                     keywords='my1|key2', html_comment='no comments', 
    174                                     robots='ALL', distribution='Global',  
     176        self.sp = self.portal.portal_properties.seo_properties 
     177        self.sp.manage_changeProperties(**global_custom_metatags) 
     178 
     179        my_doc.qseo_properties_edit(title='hello world', title_override=1, 
     180                                    description='it is description', description_override=1, 
     181                                    keywords='my1|key2', keywords_override=1, 
     182                                    html_comment='no comments', html_comment_override=1, 
     183                                    robots='ALL', robots_override=1, 
     184                                    distribution='Global', distribution_override=1, 
    175185                                    canonical=self.canonurl, canonical_override=1, 
    176                                     title_override=1, 
    177                                     description_override=1, keywords_override=1, 
    178                                     html_comment_override=1, robots_override=1, 
    179                                     distribution_override=1, custommetatags=custom_metatags) 
     186                                    custommetatags=custom_metatags, custommetatags_override=1) 
    180187 
    181188        wf_tool = self.portal.portal_workflow 
     
    183190 
    184191        abs_path = "/%s" % my_doc.absolute_url(1) 
     192        self.abs_path = abs_path 
     193        self.my_doc = my_doc 
    185194        self.html = self.publish(abs_path, self.basic_auth).getBody() 
    186195 
     
    231240        for tag in custom_metatags: 
    232241            m = re.search('<meta name="%(meta_name)s" content="%(meta_content)s" />' % tag, self.html, re.S|re.M) 
    233             self.assert_(m, "Custom meta tag %s not applied." % tag['meta_name']) 
     242            if tag['meta_content']: 
     243                self.assert_(m, "Custom meta tag %s not applied." % tag['meta_name']) 
     244            else: 
     245                self.assert_(not m, "Meta tag %s has no content, but is present in the page." % tag['meta_name']) 
     246        m = re.search('<meta name="metatag4" content="global_metatag4value" />' , self.html, re.S|re.M) 
     247        self.assert_(m, "Global custom meta tag %s not applied." % 'metatag4') 
     248 
     249    def testDeleteCustomMetaTags(self): 
     250        self.sp.manage_changeProperties(**{'default_custom_metatags':'metatag1|global_metatag1value'}) 
     251        my_doc = self.my_doc 
     252        my_doc.qseo_properties_edit(custommetatags=custom_metatags, custommetatags_override=0) 
     253        html = self.publish(self.abs_path, self.basic_auth).getBody() 
     254        m = re.search('<meta name="metatag4" content="global_metatag4value" />' , html, re.S|re.M) 
     255        self.assert_(not m, "Global custom meta tag %s is prosent in the page." % 'metatag4') 
     256        m = re.search('<meta name="metatag1" content="global_metatag1value" />' , html, re.S|re.M) 
     257        self.assert_(m, "Global custom meta tag %s is prosent in the page." % 'metatag4') 
    234258 
    235259    def testCanonical(self): 
Note: See TracChangeset for help on using the changeset viewer.