Пример #1
0
    def test_loader_not_subclass(self):
        class Foo:
            pass

        APP_SETTINGS.update({'loader': Foo})

        with self.assertRaises(CustomManifestLoaderNotValid):
            render_template('{% load manifest %}' '{% manifest "main.js" %}')

        APP_SETTINGS.update({'loader': DefaultLoader})
Пример #2
0
 def test_match_urls(self):
     APP_SETTINGS.update({'manifest_file': 'url_manifest.json'})
     rendered = render_template(
         '{% load manifest %}'
         '{% manifest_match "*.js" "<script src=\"{match}\" />" %}')
     self.assertEqual(
         rendered, '<script src="http://localhost:8080/main.js" />\n'
         '<script src="https://localhost:8080/chunk1.hash.js" />\n'
         '<script src="/static/chunk2.hash.js" />\n'
         '<script src="http://localhost:8080/chunk3.hash.js" />')
     APP_SETTINGS.update({'manifest_file': 'manifest.json'})
Пример #3
0
    def test_cache_set(self):
        APP_SETTINGS.update({'cache': True})
        self.assertIsNone(cache.get('webpack_manifest'))
        manifest = _get_manifest()

        self.assertDictEqual(
            manifest,
            {
                'main.js': 'main.e12dfe2f9b185dea03a4.js',
                "chunk1.js": "chunk1.hash.js",
                "chunk2.js": "chunk2.hash.js",
                "chunk3.js": "chunk3.hash.js",
                "styles.css": "styles.hash.css"
            },
        )

        self.assertDictEqual(manifest, cache.get('webpack_manifest'))
        APP_SETTINGS.update({'cache': False})
        cache.delete('webpack_manifest')
Пример #4
0
 def test_custom_output_dir(self):
     APP_SETTINGS.update({'output_dir': settings.BASE_DIR / 'foo'})
     with self.assertRaises(WebpackManifestNotFound):
         _get_manifest()
     APP_SETTINGS.update({'output_dir': None})
Пример #5
0
 def test_cached_manifest(self):
     cache.set('webpack_manifest', {'foo': 'bar'})
     APP_SETTINGS.update({'cache': True})
     self.assertDictEqual({'foo': 'bar'}, _get_manifest())
     cache.delete('webpack_manifest')
     APP_SETTINGS.update({'cache': False})
Пример #6
0
 def test_renders_correctly(self):
     APP_SETTINGS.update({'manifest_file': 'manifest.json'})
     rendered = render_template(
         '{% load manifest %}'
         '{% manifest_match "*.css" "<foo {match} bar>" %}')
     self.assertEqual(rendered, '<foo /static/styles.hash.css bar>')
Пример #7
0
 def test_url_in_manifest(self):
     APP_SETTINGS.update({'manifest_file': 'url_manifest.json'})
     rendered = render_template('{% load manifest %}'
                                '{% manifest "main.js" %}')
     self.assertEqual(rendered, 'http://localhost:8080/main.js')
     APP_SETTINGS.update({'manifest_file': 'manifest.json'})
Пример #8
0
 def test_non_default_static_url(self):
     APP_SETTINGS.update({'manifest_file': 'manifest.json'})
     with self.settings(STATIC_URL='/foo/'):
         rendered = render_template('{% load manifest %}'
                                    '{% manifest "main.js" %}')
         self.assertEqual(rendered, '/foo/main.e12dfe2f9b185dea03a4.js')
Пример #9
0
 def test_with_var_no_string(self):
     APP_SETTINGS.update({'manifest_file': 'manifest.json'})
     rendered = render_template('{% load manifest %}'
                                '{% manifest foo %}', {'foo': 'main.js'})
     self.assertEqual(rendered, '/static/main.e12dfe2f9b185dea03a4.js')
Пример #10
0
 def test_basic_usage(self):
     APP_SETTINGS.update({'manifest_file': 'manifest.json'})
     rendered = render_template('{% load manifest %}'
                                '{% manifest "main.js" %}')
     self.assertEqual(rendered, '/static/main.e12dfe2f9b185dea03a4.js')