Пример #1
0
    def test_choice(self, get_schema, get_utility):

        class MockUtililty(object):
            def __call__(self, name):
                return SimpleVocabulary([
                    SimpleTerm(value='1st', title=u'first'),
                    SimpleTerm(value='2nd', title=u'second'),
                ])

        get_schema.return_value = self.schema
        get_utility.return_value = MockUtililty()

        renderer = Renderer(self.schema, place='list')

        context = MagicMock()
        context.portal_type = 'portal_type'
        context.choice = '1st'
        self.assertEqual(renderer.render(context, 'choice'), u'first')

        context.choice = '2nd'
        self.assertEqual(renderer.render(context, 'choice'), u'second')
Пример #2
0
    def test_image(self):

        renderer = Renderer(self.schema, place='list')

        class MockContext(object):
            def getURL(self):
                return u'http://nohost/mockbrain'

            def absolute_url(self):
                return u'http://nohost/mockobject'

        context = MockContext()
        context.image = None
        self.assertEqual(renderer.render(context, 'image'), '')

        # if the context does not provide ICatalogBrain, absolute_url is used
        context.image = NamedImage()
        self.assertEqual(
            renderer.render(context, 'image'),
            u'<img src="http://nohost/mockobject/@@images/image/tile" />'
        )

        # per default, the size on the detail view is different
        renderer = Renderer(self.schema, place='detail')
        self.assertEqual(
            renderer.render(context, 'image'),
            u'<img src="http://nohost/mockobject/@@images/image/mini" />'
        )

        # if the context provides ICatalogBrain, getURL is used
        directlyProvides(context, ICatalogBrain)
        self.assertEqual(
            renderer.render(context, 'image'),
            u'<img src="http://nohost/mockbrain/@@images/image/mini" />'
        )
Пример #3
0
 def render_value(self, field, value):
     renderer = Renderer(self.schema, place='list')
     context = namedtuple('MockContext', [field])(value)
     return renderer.render(context, field)