This commit is contained in:
parent
18990b52c0
commit
dbde966947
3 changed files with 54 additions and 2 deletions
|
|
@ -3,8 +3,8 @@ Unit tests for typeclass base system
|
|||
|
||||
"""
|
||||
from django.test import override_settings
|
||||
from evennia.utils.test_resources import BaseEvenniaTest, EvenniaTestCase
|
||||
from evennia.typeclasses import attributes
|
||||
from evennia.utils.test_resources import BaseEvenniaTest, EvenniaTestCase
|
||||
from mock import patch
|
||||
from parameterized import parameterized
|
||||
|
||||
|
|
@ -13,6 +13,10 @@ from parameterized import parameterized
|
|||
# ------------------------------------------------------------
|
||||
|
||||
|
||||
class DictSubclass(dict):
|
||||
pass
|
||||
|
||||
|
||||
class TestAttributes(BaseEvenniaTest):
|
||||
def test_attrhandler(self):
|
||||
key = "testattr"
|
||||
|
|
@ -22,6 +26,14 @@ class TestAttributes(BaseEvenniaTest):
|
|||
self.obj1.db.testattr = value
|
||||
self.assertEqual(self.obj1.db.testattr, value)
|
||||
|
||||
value = DictSubclass({"fo": "foo", "bar": "bar"})
|
||||
self.obj1.db.testattr = value
|
||||
self.assertEqual(self.obj1.db.testattr, value)
|
||||
|
||||
value = DictSubclass({"fo": "foo", "bar": "bar", "obj": self.obj2})
|
||||
self.obj1.db.testattr = value
|
||||
self.assertEqual(self.obj1.db.testattr, value)
|
||||
|
||||
@override_settings(TYPECLASS_AGGRESSIVE_CACHE=False)
|
||||
@patch("evennia.typeclasses.attributes._TYPECLASS_AGGRESSIVE_CACHE", False)
|
||||
def test_attrhandler_nocache(self):
|
||||
|
|
@ -35,6 +47,16 @@ class TestAttributes(BaseEvenniaTest):
|
|||
self.assertEqual(self.obj1.db.testattr, value)
|
||||
self.assertFalse(self.obj1.attributes.backend._cache)
|
||||
|
||||
value = DictSubclass({"fo": "foo", "bar": "bar"})
|
||||
self.obj1.db.dict_subclass = value
|
||||
self.assertEqual(self.obj1.db.dict_subclass, value)
|
||||
self.assertFalse(self.obj1.attributes.backend._cache)
|
||||
|
||||
value = DictSubclass({"fo": "foo", "bar": "bar", "obj": self.obj2})
|
||||
self.obj1.db.dict_subclass = value
|
||||
self.assertEqual(self.obj1.db.dict_subclass, value)
|
||||
self.assertFalse(self.obj1.attributes.backend._cache)
|
||||
|
||||
def test_weird_text_save(self):
|
||||
"test 'weird' text type (different in py2 vs py3)"
|
||||
from django.utils.safestring import SafeText
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue