예제 #1
0
    def test_generate_correct_url_when_debug_is_true(self):
        configure(MOCK_CONF_DEBUG_MODE)

        content = Template(self.TEMPLATE).render().strip()

        self.assertIsNone(re.search('<img src="my-url/this/is/an/image.png">', content))
        self.assertIsNotNone(re.search('<img src="/this/is/an/image.png">', content))
예제 #2
0
    def test_assets_url_is_generated_with_final_filename_when_debug_is_false(self):
        context = MagicMock()
        context['caller'] = MagicMock()
        context['caller'].body = MagicMock()

        configure(MOCK_CONF_PROD_MODE)
        tag(context, 'final-js-bundle')

        context['caller'].body.assert_called_with(ASSETS_URL='my-url/final-js-bundle.js')
예제 #3
0
    def test_compress_all_javascripts_call_uglifyjs_with_correct_options(self, uglifyjs):
        configure(MOCK_CONF)

        js.compress_all()

        in_files = ['file1.js', 'file2.js']
        out_file = 'final-js-bundle.min.js'

        uglifyjs.assert_called_with(in_files, out_file)
예제 #4
0
    def test_assets_url_is_generated_for_each_file_when_debug_is_true(self):
        context = MagicMock()
        context['caller'] = MagicMock()
        context['caller'].body = MagicMock()

        configure(MOCK_CONF_DEBUG_MODE)
        tag(context, 'final-js-bundle')

        context['caller'].body.assert_any_call(ASSETS_URL='my-url/file1.js')
        context['caller'].body.assert_any_call(ASSETS_URL='my-url/file2.js')
예제 #5
0
    def test_template_can_import_assets_plugin(self):
        configure(MOCK_CONF_PROD_MODE)

        content = Template("""
            <%namespace name="assets" module="mako_pipeline.assets"/>
            <%assets:tag name="final-js-bundle" args="ASSETS_URL">
                before:${ASSETS_URL}:after
            </%assets:tag>
        """).render().strip()

        self.assertIsNone(re.search('before:my-url/file1.js:after', content))
        self.assertIsNone(re.search('before:my-url/file2.js:after', content))
        self.assertIsNotNone(re.search('before:my-url/final-js-bundle.js:after', content))