mirror of
https://github.com/django-components/django-components.git
synced 2025-08-04 06:18:17 +00:00
fix: Allow None
for attrs in html_attrs
tag (#591)
This commit is contained in:
parent
03af25aad6
commit
3a599ff369
2 changed files with 30 additions and 2 deletions
|
@ -33,8 +33,8 @@ class HtmlAttrsNode(Node):
|
|||
resolved_value = safe_resolve(value, context)
|
||||
append_attrs.append((key, resolved_value))
|
||||
|
||||
defaults = safe_resolve(self.defaults, context) if self.defaults else {}
|
||||
attrs = safe_resolve(self.attributes, context) if self.attributes else {}
|
||||
defaults = safe_resolve(self.defaults, context) or {} if self.defaults else {}
|
||||
attrs = safe_resolve(self.attributes, context) or {} if self.attributes else {}
|
||||
|
||||
# Merge it
|
||||
final_attrs = {**defaults, **attrs}
|
||||
|
|
|
@ -360,3 +360,31 @@ class HtmlAttrsTests(BaseTestCase):
|
|||
""",
|
||||
)
|
||||
self.assertNotIn("override-me", rendered)
|
||||
|
||||
def test_tag_null_attrs_and_defaults(self):
|
||||
@register("test")
|
||||
class AttrsComponent(Component):
|
||||
template: types.django_html = """
|
||||
{% load component_tags %}
|
||||
<div {% html_attrs attrs defaults %}>
|
||||
content
|
||||
</div>
|
||||
"""
|
||||
|
||||
def get_context_data(self, *args, attrs):
|
||||
return {
|
||||
"attrs": None,
|
||||
"defaults": None,
|
||||
}
|
||||
|
||||
template = Template(self.template_str)
|
||||
rendered = template.render(Context({"class_var": "padding-top-8"}))
|
||||
self.assertHTMLEqual(
|
||||
rendered,
|
||||
"""
|
||||
<div >
|
||||
content
|
||||
</div>
|
||||
""",
|
||||
)
|
||||
self.assertNotIn("override-me", rendered)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue