mirror of
https://github.com/django-components/django-components.git
synced 2025-09-26 15:39:08 +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)
|
resolved_value = safe_resolve(value, context)
|
||||||
append_attrs.append((key, resolved_value))
|
append_attrs.append((key, resolved_value))
|
||||||
|
|
||||||
defaults = safe_resolve(self.defaults, context) if self.defaults else {}
|
defaults = safe_resolve(self.defaults, context) or {} if self.defaults else {}
|
||||||
attrs = safe_resolve(self.attributes, context) if self.attributes else {}
|
attrs = safe_resolve(self.attributes, context) or {} if self.attributes else {}
|
||||||
|
|
||||||
# Merge it
|
# Merge it
|
||||||
final_attrs = {**defaults, **attrs}
|
final_attrs = {**defaults, **attrs}
|
||||||
|
|
|
@ -360,3 +360,31 @@ class HtmlAttrsTests(BaseTestCase):
|
||||||
""",
|
""",
|
||||||
)
|
)
|
||||||
self.assertNotIn("override-me", rendered)
|
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