Added tests for various __repr__() methods.

This commit is contained in:
Mads Jensen 2017-02-04 11:43:14 +01:00 committed by Tim Graham
parent 2d899ce16b
commit ce69a421f6
6 changed files with 69 additions and 1 deletions

View File

@ -3,7 +3,9 @@ import warnings
from django.db.migrations.exceptions import ( from django.db.migrations.exceptions import (
CircularDependencyError, NodeNotFoundError, CircularDependencyError, NodeNotFoundError,
) )
from django.db.migrations.graph import RECURSION_DEPTH_WARNING, MigrationGraph from django.db.migrations.graph import (
RECURSION_DEPTH_WARNING, DummyNode, MigrationGraph, Node,
)
from django.test import SimpleTestCase from django.test import SimpleTestCase
@ -407,3 +409,28 @@ class GraphTests(SimpleTestCase):
self.assertEqual(str(graph), "Graph: 5 nodes, 3 edges") self.assertEqual(str(graph), "Graph: 5 nodes, 3 edges")
self.assertEqual(repr(graph), "<MigrationGraph: nodes=5, edges=3>") self.assertEqual(repr(graph), "<MigrationGraph: nodes=5, edges=3>")
class NodeTests(SimpleTestCase):
def test_node_repr(self):
node = Node(('app_a', '0001'))
self.assertEqual(repr(node), "<Node: ('app_a', '0001')>")
def test_dummynode_repr(self):
node = DummyNode(
key=('app_a', '0001'),
origin='app_a.0001',
error_message='x is missing',
)
self.assertEqual(repr(node), "<DummyNode: ('app_a', '0001')>")
def test_dummynode_promote(self):
dummy = DummyNode(
key=('app_a', '0001'),
origin='app_a.0002',
error_message="app_a.0001 (req'd by app_a.0002) is missing!",
)
dummy.promote()
self.assertIsInstance(dummy, Node)
self.assertFalse(hasattr(dummy, 'origin'))
self.assertFalse(hasattr(dummy, 'error_message'))

View File

@ -1,6 +1,7 @@
from threading import local from threading import local
from django.template import Context, Template, TemplateSyntaxError from django.template import Context, Template, TemplateSyntaxError
from django.templatetags.l10n import LocalizeNode
from django.test import SimpleTestCase, override_settings from django.test import SimpleTestCase, override_settings
from django.utils import translation from django.utils import translation
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
@ -203,3 +204,9 @@ class MultipleLocaleActivationTransTagTests(MultipleLocaleActivationTestCase):
t = Template("{% load i18n %}{% trans 'No' %}") t = Template("{% load i18n %}{% trans 'No' %}")
with translation.override('nl'): with translation.override('nl'):
self.assertEqual(t.render(Context({})), 'Nee') self.assertEqual(t.render(Context({})), 'Nee')
class LocalizeNodeTests(SimpleTestCase):
def test_repr(self):
node = LocalizeNode(nodelist=[], use_l10n=True)
self.assertEqual(repr(node), '<LocalizeNode>')

View File

@ -1,3 +1,6 @@
from django.template import NodeList
from django.template.base import Node
from django.template.loader_tags import ExtendsNode
from django.test import SimpleTestCase from django.test import SimpleTestCase
from ..utils import setup from ..utils import setup
@ -396,3 +399,13 @@ class InheritanceTests(SimpleTestCase):
""" """
output = self.engine.render_to_string('inheritance42') output = self.engine.render_to_string('inheritance42')
self.assertEqual(output, '1234') self.assertEqual(output, '1234')
class ExtendsNodeTests(SimpleTestCase):
def test_extends_node_repr(self):
extends_node = ExtendsNode(
nodelist=NodeList([]),
parent_name=Node(),
template_dirs=[],
)
self.assertEqual(repr(extends_node), '<ExtendsNode: extends None>')

View File

@ -1,4 +1,5 @@
from django.template import TemplateSyntaxError from django.template import TemplateSyntaxError
from django.template.defaulttags import IfNode
from django.test import SimpleTestCase from django.test import SimpleTestCase
from ..utils import TestObj, setup from ..utils import TestObj, setup
@ -599,3 +600,9 @@ class IfTagTests(SimpleTestCase):
def test_if_is_not_both_variables_missing(self): def test_if_is_not_both_variables_missing(self):
output = self.engine.render_to_string('template', {}) output = self.engine.render_to_string('template', {})
self.assertEqual(output, 'no') self.assertEqual(output, 'no')
class IfNodeTests(SimpleTestCase):
def test_repr(self):
node = IfNode(conditions_nodelists=[])
self.assertEqual(repr(node), '<IfNode>')

View File

@ -1,3 +1,4 @@
from django.template.defaulttags import IfEqualNode
from django.test import SimpleTestCase from django.test import SimpleTestCase
from ..utils import setup from ..utils import setup
@ -215,3 +216,9 @@ class IfNotEqualTagTests(SimpleTestCase):
def test_ifnotequal04(self): def test_ifnotequal04(self):
output = self.engine.render_to_string('ifnotequal04', {'a': 1, 'b': 1}) output = self.engine.render_to_string('ifnotequal04', {'a': 1, 'b': 1})
self.assertEqual(output, 'no') self.assertEqual(output, 'no')
class IfEqualTests(SimpleTestCase):
def test_repr(self):
node = IfEqualNode(var1='a', var2='b', nodelist_true=[], nodelist_false=[], negate=False)
self.assertEqual(repr(node), '<IfEqualNode>')

View File

@ -1,4 +1,5 @@
from django.template import TemplateSyntaxError from django.template import TemplateSyntaxError
from django.template.defaulttags import WithNode
from django.test import SimpleTestCase from django.test import SimpleTestCase
from ..utils import setup from ..utils import setup
@ -50,3 +51,9 @@ class WithTagTests(SimpleTestCase):
def test_with_error02(self): def test_with_error02(self):
with self.assertRaises(TemplateSyntaxError): with self.assertRaises(TemplateSyntaxError):
self.engine.render_to_string('with-error02', {'dict': {'key': 50}}) self.engine.render_to_string('with-error02', {'dict': {'key': 50}})
class WithNodeTests(SimpleTestCase):
def test_repr(self):
node = WithNode(nodelist=[], name='a', var='dict.key')
self.assertEqual(repr(node), '<WithNode>')