@@ -149,6 +149,7 @@ def test_code_spliting(self):
149149 def test_templatetags (self ):
150150 self .compile_bundles ('webpack.config.simple.js' )
151151 self .compile_bundles ('webpack.config.app2.js' )
152+ self .compile_bundles ('webpack.config.getFiles.js' )
152153 view = TemplateView .as_view (template_name = 'home.html' )
153154 request = self .factory .get ('/' )
154155 result = view (request )
@@ -169,6 +170,9 @@ def test_templatetags(self):
169170 self .assertIn (
170171 '<img src="/static/my-image.png"/>' , result .rendered_content )
171172
173+ self .assertIn ('<li>All from getFiles already rendered</li>' , result .rendered_content )
174+
175+ request = self .factory .get ('/' )
172176 view = TemplateView .as_view (template_name = 'only_files.html' )
173177 result = view (request )
174178 self .assertIn ((
@@ -180,6 +184,7 @@ def test_templatetags(self):
180184 result .rendered_content )
181185
182186 self .compile_bundles ('webpack.config.publicPath.js' )
187+ request = self .factory .get ('/' )
183188 view = TemplateView .as_view (template_name = 'home.html' )
184189 request = self .factory .get ('/' )
185190 result = view (request )
@@ -527,6 +532,30 @@ def test_emits_warning_on_no_request_in_jinja2engine(self):
527532 _warn_mock .assert_not_called ()
528533 _warn_mock .reset_mock ()
529534
535+ @patch (
536+ target = 'webpack_loader.templatetags.webpack_loader.warn' ,
537+ new = _warn_mock )
538+ def test_get_files_emits_warning_on_no_request (self ):
539+ self .compile_bundles ('webpack.config.skipCommon.js' )
540+ asset_vendor = '"/static/django_webpack_loader_bundles/vendors.js"'
541+ asset_app1 = '"/static/django_webpack_loader_bundles/app1.js"'
542+ asset_app2 = '"/static/django_webpack_loader_bundles/app2.js"'
543+
544+ template = Template (template_string = (
545+ '{% load render_bundle get_files from webpack_loader %}'
546+ '{% render_bundle "app1" %}'
547+ '{% get_files "app2" skip_common_chunks=True as app2_files %}'
548+ '{% for f in app2_files %}'
549+ ' <link rel="prefetch" href="{{ f.url }}" />'
550+ '{% endfor %}' ),
551+ ) # type: Template
552+ output = template .render (context = Context ())
553+ self .assertEqual (output .count (asset_app1 ), 1 )
554+ self .assertEqual (output .count (asset_app2 ), 1 )
555+ self .assertEqual (output .count (asset_vendor ), 2 )
556+ _warn_mock .assert_called_once_with (
557+ message = _WARNING_MESSAGE , category = RuntimeWarning )
558+
530559 def _assert_common_chunks_duplicated_djangoengine (self , template ):
531560 """
532561 Verify that any common chunks between two bundles are duplicated in
0 commit comments