From 31261ece08159059a588bf9f6d49d4cad18c82ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emil=20Stenstro=CC=88m?= Date: Thu, 11 Jun 2015 21:14:21 +0200 Subject: [PATCH] Add a basic Component class. --- django_components/component.py | 12 ++++++++++++ tests/test_component.py | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 tests/test_component.py diff --git a/django_components/component.py b/django_components/component.py index ad70ba94..f77a6e76 100644 --- a/django_components/component.py +++ b/django_components/component.py @@ -1,4 +1,16 @@ from .component_registry import ComponentRegistry, AlreadyRegistered, NotRegistered # NOQA +class Component(object): + def __init__(self): + self._media = self.Media() + + def context(self): + return {} + + class Media: + template = None + css = {} + js = () + # This variable represents the global component registry registry = ComponentRegistry() diff --git a/tests/test_component.py b/tests/test_component.py new file mode 100644 index 00000000..5aa81197 --- /dev/null +++ b/tests/test_component.py @@ -0,0 +1,14 @@ +import unittest +from django_components import component + +class ComponentRegistryTest(unittest.TestCase): + def test_simple_component(self): + class MyComponent(component.Component): + pass + + comp = MyComponent() + + self.assertEqual(comp.context(), {}) + self.assertEqual(comp._media.template, None) + self.assertEqual(comp._media.css, {}) + self.assertEqual(comp._media.js, ())