from django.template import Template from django.test import override_settings from .django_test_setup import * # NOQA from django_components import component from .test_templatetags import SimpleComponent from .testutils import create_and_process_template_response, Django30CompatibleSimpleTestCase as SimpleTestCase class SimpleComponentAlternate(component.Component): def context(self, variable): return {} def template(self, context): return "simple_template.html" class Media: css = "style2.css" js = "script2.js" class SimpleComponentWithSharedDependency(component.Component): def context(self, variable, variable2="default"): return { "variable": variable, "variable2": variable2, } def template(self, context): return "simple_template.html" class Media: css = ["style.css", "style2.css"] js = ["script.js", "script2.js"] class MultistyleComponent(component.Component): def template(self, context): return "simple_template.html" class Media: css = ["style.css", "style2.css"] js = ["script.js", "script2.js"] @override_settings(COMPONENTS={'RENDER_DEPENDENCIES': True}) class ComponentMediaRenderingTests(SimpleTestCase): def setUp(self): # NOTE: component.registry is global, so need to clear before each test component.registry.clear() def test_no_dependencies_when_no_components_used(self): component.registry.register(name="test", component=SimpleComponent) template = Template("{% load component_tags %}{% component_dependencies %}") rendered = create_and_process_template_response(template) self.assertInHTML('