|
| 1 | +import re |
| 2 | + |
1 | 3 | from django.template.base import Token, TokenType |
2 | 4 |
|
3 | 5 | from django_unicorn.components import UnicornView |
@@ -175,3 +177,45 @@ def test_unicorn_render_id_use_pk(): |
175 | 177 | actual = unicorn_node.render(context) |
176 | 178 |
|
177 | 179 | assert "==123==" in actual |
| 180 | + |
| 181 | + |
| 182 | +def test_unicorn_render_component_one_script_tag(settings): |
| 183 | + settings.DEBUG = True |
| 184 | + token = Token( |
| 185 | + TokenType.TEXT, |
| 186 | + "unicorn 'tests.templatetags.test_unicorn_render.FakeComponentKwargs'", |
| 187 | + ) |
| 188 | + unicorn_node = unicorn(None, token) |
| 189 | + context = {} |
| 190 | + html = unicorn_node.render(context) |
| 191 | + |
| 192 | + assert "<script" in html |
| 193 | + assert len(re.findall("<script", html)) == 1 |
| 194 | + |
| 195 | + |
| 196 | +def test_unicorn_render_child_component_no_script_tag(settings): |
| 197 | + settings.DEBUG = True |
| 198 | + token = Token( |
| 199 | + TokenType.TEXT, |
| 200 | + "unicorn 'tests.templatetags.test_unicorn_render.FakeComponentKwargs' parent=view", |
| 201 | + ) |
| 202 | + unicorn_node = unicorn(None, token) |
| 203 | + view = FakeComponentParent(component_name="test", component_id="asdf") |
| 204 | + context = {"view": view} |
| 205 | + html = unicorn_node.render(context) |
| 206 | + |
| 207 | + assert "<script" not in html |
| 208 | + |
| 209 | + |
| 210 | +def test_unicorn_render_parent_component_one_script_tag(settings): |
| 211 | + settings.DEBUG = True |
| 212 | + token = Token( |
| 213 | + TokenType.TEXT, |
| 214 | + "unicorn 'tests.templatetags.test_unicorn_render.FakeComponentParent'", |
| 215 | + ) |
| 216 | + unicorn_node = unicorn(None, token) |
| 217 | + context = {} |
| 218 | + html = unicorn_node.render(context) |
| 219 | + |
| 220 | + assert "<script" in html |
| 221 | + assert len(re.findall("<script", html)) == 1 |
0 commit comments