#34823: assertTemplateUsed() context manager crashes for templates without 
names.
-----------------------------------+------------------------------------
     Reporter:  Arian              |                    Owner:  Arian
         Type:  Bug                |                   Status:  assigned
    Component:  Testing framework  |                  Version:  4.2
     Severity:  Normal             |               Resolution:
     Keywords:                     |             Triage Stage:  Accepted
    Has patch:  1                  |      Needs documentation:  0
  Needs tests:  0                  |  Patch needs improvement:  0
Easy pickings:  0                  |                    UI/UX:  0
-----------------------------------+------------------------------------
Changes (by Arian):

 * needs_better_patch:  1 => 0
 * needs_tests:  1 => 0


Old description:

> When template_names includes at least one None type the string join will
> fail.
> This occurs when a rendered template does not define a name.
>
> {{{
> Traceback (most recent call last):
>   File "/home/.../admin-
> frontend/admin_frontend/admin_cash/tests/test_views.py", line 19, in
> test_get_context_data
>     with self.assertTemplateUsed('admin_cash/bill_validator_logs.html'):
>   File "/home/../3.10/lib/python3.10/site-
> packages/django/test/testcases.py", line 146, in __exit__
>     self.test()
>   File "/home/../3.10/lib/python3.10/site-
> packages/django/test/testcases.py", line 131, in test
>     self.test_case._assert_template_used(
>   File "/home/../3.10/lib/python3.10/site-
> packages/django/test/testcases.py", line 828, in _assert_template_used
>     % (template_name, ", ".join(template_names)),
> TypeError: sequence item 0: expected str instance, NoneType found
> }}}

New description:

 When template_names includes at least one None type the string join will
 fail.
 This occurs when a rendered template does not define a name.

 {{{
 Traceback (most recent call last):
   File "/home/.../admin-
 frontend/admin_frontend/admin_cash/tests/test_views.py", line 19, in
 test_get_context_data
     with self.assertTemplateUsed('admin_cash/bill_validator_logs.html'):
   File "/home/../3.10/lib/python3.10/site-
 packages/django/test/testcases.py", line 146, in __exit__
     self.test()
   File "/home/../3.10/lib/python3.10/site-
 packages/django/test/testcases.py", line 131, in test
     self.test_case._assert_template_used(
   File "/home/../3.10/lib/python3.10/site-
 packages/django/test/testcases.py", line 828, in _assert_template_used
     % (template_name, ", ".join(template_names)),
 TypeError: sequence item 0: expected str instance, NoneType found
 }}}

 [https://github.com/django/django/pull/17237 PR]

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34823#comment:4>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018ab329bcb3-1a41d58e-eda3-48d6-abbb-546b026ebf57-000000%40eu-central-1.amazonses.com.

Reply via email to