summaryrefslogtreecommitdiff
path: root/odoo/addons/base/tests/test_misc.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2019-11-26 16:04:02 +0000
committerRaphael Collet <rco@odoo.com>2020-02-05 13:50:23 +0000
commit058cf208a8e7d43ebfc2e761ec1cbfc6e7a56351 (patch)
tree198230b33ca755e3b511b6618e673b1d9e27012f /odoo/addons/base/tests/test_misc.py
parent840bd42718c940bf13d835e7f1fb298f3db370d9 (diff)
[ADD] sql_db: pre/post-commit/rollback hooks
Diffstat (limited to 'odoo/addons/base/tests/test_misc.py')
-rw-r--r--odoo/addons/base/tests/test_misc.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/odoo/addons/base/tests/test_misc.py b/odoo/addons/base/tests/test_misc.py
index 2f504756deb..b37ee11246a 100644
--- a/odoo/addons/base/tests/test_misc.py
+++ b/odoo/addons/base/tests/test_misc.py
@@ -270,3 +270,35 @@ class TestFormatLangDate(TransactionCase):
# Check given `lang_code` overwites context lang
self.assertEqual(misc.format_time(lang.with_context(lang='fr_FR').env, time_part, time_format='short', lang_code='zh_CN'), '\u4e0b\u53484:30')
self.assertEqual(misc.format_time(lang.with_context(lang='zh_CN').env, time_part, time_format='medium', lang_code='fr_FR'), '16:30:22')
+
+
+class TestGroupCalls(BaseCase):
+ def test_callbacks(self):
+ log = []
+
+ def foo():
+ log.append("foo")
+
+ def bar(items):
+ log.extend(items)
+ callbacks.add(baz)
+
+ def baz():
+ log.append("baz")
+
+ callbacks = misc.GroupCalls()
+ callbacks.add(foo)
+ callbacks.add(bar, list)[0].append(1)
+ callbacks.add(bar, list)[0].append(2)
+ self.assertEqual(log, [])
+
+ callbacks()
+ self.assertEqual(log, ["foo", 1, 2, "baz"])
+
+ callbacks()
+ self.assertEqual(log, ["foo", 1, 2, "baz"])
+
+ callbacks.add(bar, list)[0].append(3)
+ callbacks.clear()
+ callbacks()
+ self.assertEqual(log, ["foo", 1, 2, "baz"])