class TestUtils(ZopeTestCase.ZopeTestCase):
    
    def afterSetUp(self):
        self.props = PropertyManager()
        # PropertyManager has title property already
        self.props.manage_changeProperties(title = 'Player properties')
        self.props.manage_addProperty('plugins/controls/url', '${portal_path}flowplayer.controls.swf', 'string')
        self.props.manage_addProperty('plugins/controls/all', False, 'boolean')
        self.props.manage_addProperty('plugins/controls/play', True, 'boolean')
        self.props.manage_addProperty('plugins/controls/scrubber', True, 'boolean')
        self.props.manage_addProperty('plugins/controls/tooltips/fullscreen', 'Enter fullscreen mode', 'string')
        self.props.manage_addProperty('plugins/controls/tooltips/buttons', True, 'boolean')
        self.props.manage_addProperty('plugins/audio/url', '${portal_url}++resource++collective.flowplayer/flowplayer.audio.swf', 'string')
        self.props.manage_addProperty('clip/autoPlay',False, 'boolean')
        self.props.manage_addProperty('clip/autoBuffering', True, 'boolean')
        self.props.manage_addProperty('param/src', 'flowplayer.swf', 'string')
        self.props.manage_addProperty('param/wmode', 'opaque', 'string')
    
    def test_parsing(self):
        parsed = properties_to_dict(self.props, 'http://localhost', ignore=['title'])
        self.assertEqual(len(parsed.keys()), 2) # plugins, clip
        self.assertEqual(len(parsed['plugins'].keys()), 2) # controls, audio
        self.assertEqual(parsed['plugins']['controls']['all'], False) 
        self.assertEqual(parsed['plugins']['controls']['scrubber'], True) 
        self.assertEqual(parsed['plugins']['controls']['url'], r'http%3A//localhost/flowplayer.controls.swf') 
        self.assertEqual(parsed['plugins']['audio']['url'], r'http%3A//localhost/%2B%2Bresource%2B%2Bcollective.flowplayer/flowplayer.audio.swf') 
        self.assertEqual(parsed['clip']['autoBuffering'], True) 
        self.failIf(parsed.has_key('param'))
        
    def test_parsing_flash_props(self):
        parsed = flash_properties_to_dict(self.props, 'http://localhost')
        self.assertEqual(len(parsed.keys()), 2) # src, wmode
        self.assertEqual(parsed['src'], 'flowplayer.swf')
        self.assertEqual(parsed['wmode'], 'opaque')
class TestUtils(ZopeTestCase.ZopeTestCase):
    def afterSetUp(self):
        self.props = PropertyManager()
        # PropertyManager has title property already
        self.props.manage_changeProperties(title='Player properties')
        self.props.manage_addProperty('plugins/controls/url',
                                      '${portal_path}flowplayer.controls.swf',
                                      'string')
        self.props.manage_addProperty('plugins/controls/all', False, 'boolean')
        self.props.manage_addProperty('plugins/controls/play', True, 'boolean')
        self.props.manage_addProperty('plugins/controls/scrubber', True,
                                      'boolean')
        self.props.manage_addProperty('plugins/controls/tooltips/fullscreen',
                                      'Enter fullscreen mode', 'string')
        self.props.manage_addProperty('plugins/controls/tooltips/buttons',
                                      True, 'boolean')
        self.props.manage_addProperty(
            'plugins/audio/url',
            '${portal_url}++resource++collective.flowplayer/flowplayer.audio.swf',
            'string')
        self.props.manage_addProperty('clip/autoPlay', False, 'boolean')
        self.props.manage_addProperty('clip/autoBuffering', True, 'boolean')
        self.props.manage_addProperty('param/src', 'flowplayer.swf', 'string')
        self.props.manage_addProperty('param/wmode', 'opaque', 'string')

    def test_parsing(self):
        parsed = properties_to_dict(self.props,
                                    'http://localhost',
                                    ignore=['title'])
        self.assertEqual(len(parsed.keys()), 2)  # plugins, clip
        self.assertEqual(len(parsed['plugins'].keys()), 2)  # controls, audio
        self.assertEqual(parsed['plugins']['controls']['all'], False)
        self.assertEqual(parsed['plugins']['controls']['scrubber'], True)
        self.assertEqual(parsed['plugins']['controls']['url'],
                         r'http%3A//localhost/flowplayer.controls.swf')
        self.assertEqual(
            parsed['plugins']['audio']['url'],
            r'http%3A//localhost/%2B%2Bresource%2B%2Bcollective.flowplayer/flowplayer.audio.swf'
        )
        self.assertEqual(parsed['clip']['autoBuffering'], True)
        self.failIf(parsed.has_key('param'))

    def test_parsing_flash_props(self):
        parsed = flash_properties_to_dict(self.props, 'http://localhost')
        self.assertEqual(len(parsed.keys()), 2)  # src, wmode
        self.assertEqual(parsed['src'], 'flowplayer.swf')
        self.assertEqual(parsed['wmode'], 'opaque')
Exemple #3
0
 def manage_changeProperties(self, REQUEST=None, **kw):
     result = PropertyManager.manage_changeProperties(self, REQUEST, **kw)
     self.reindex_object()
     return result
Exemple #4
0
 def manage_changeProperties(self, **kwargs):
     """Ensure the SQL methods get regenerated."""
     self.delSQLQueries()
     PropertyManager.manage_changeProperties(self, **kwargs)
     self.addSQLQueries()