test_rendering.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:DjangoCMS 作者: farhan711 项目源码 文件源码
def test_processors(self):
        """
        Tests that default plugin context processors are working, that plugin processors and plugin context processors
        can be defined in settings and are working and that extra plugin context processors can be passed to PluginContext.
        """
        def test_passed_plugin_context_processor(instance, placeholder, context):
            return {'test_passed_plugin_context_processor': 'test_passed_plugin_context_processor_ok'}

        t = u'{% load cms_tags %}' + \
            u'{{ plugin.counter }}|{{ plugin.instance.body }}|{{ test_passed_plugin_context_processor }}|{{ test_plugin_context_processor }}'
        instance, plugin = CMSPlugin.objects.all()[0].get_plugin_instance()
        instance.render_template = Template(t)
        context = PluginContext({'original_context_var': 'original_context_var_ok'}, instance,
                                self.test_placeholders['main'], processors=(test_passed_plugin_context_processor,))
        plugin_rendering._standard_processors = {}
        c = render_plugins((instance,), context, self.test_placeholders['main'])
        r = "".join(c)
        self.assertEqual(r, u'1|' + self.test_data[
            'text_main'] + '|test_passed_plugin_context_processor_ok|test_plugin_context_processor_ok|' +
                            self.test_data['text_main'] + '|main|original_context_var_ok|test_plugin_processor_ok|' + self.test_data[
                                'text_main'] + '|main|original_context_var_ok')
        plugin_rendering._standard_processors = {}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号