diff --git a/openerp/tests/addons/test_workflow/data.xml b/openerp/tests/addons/test_workflow/data.xml
index a07451e2f42..c6f542879a0 100644
--- a/openerp/tests/addons/test_workflow/data.xml
+++ b/openerp/tests/addons/test_workflow/data.xml
@@ -164,5 +164,70 @@
stopall
write({'value': 1})
+
+
+
+ test.workflow.e
+ test.workflow.model.e
+ True
+
+
+
+
+ True
+ a
+ function
+ write({'value': 1})
+
+
+
+ True
+ b
+ function
+ write({'value': 2})
+
+
+
+
+
+
+
+
+
+ test.workflow.f
+ test.workflow.model.f
+ True
+
+
+
+
+ True
+ a
+ function
+ write({'value': 1})
+
+
+
+ True
+ b
+ function
+ write({'value': 2})
+
+
+
+
+
+ a-b
+
diff --git a/openerp/tests/addons/test_workflow/models.py b/openerp/tests/addons/test_workflow/models.py
index b1df8e662d3..84789cc9b69 100644
--- a/openerp/tests/addons/test_workflow/models.py
+++ b/openerp/tests/addons/test_workflow/models.py
@@ -51,4 +51,17 @@ class d(openerp.osv.orm.Model):
_name = 'test.workflow.model.d'
_inherit = 'test.workflow.model.a'
+class e(openerp.osv.orm.Model):
+ _name = 'test.workflow.model.e'
+ _inherit = 'test.workflow.model.a'
+
+for name in 'bcdef':
+ type(
+ name,
+ (openerp.osv.orm.Model,),
+ {
+ '_name': 'test.workflow.model.%s' % name,
+ '_inherit': 'test.workflow.model.a',
+ })
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/tests/addons/test_workflow/tests/test_workflow.py b/openerp/tests/addons/test_workflow/tests/test_workflow.py
index c09511dc168..d55657f6a6a 100644
--- a/openerp/tests/addons/test_workflow/tests/test_workflow.py
+++ b/openerp/tests/addons/test_workflow/tests/test_workflow.py
@@ -103,3 +103,25 @@ class test_workflows(common.TransactionCase):
self.check_value(model._name, i, 1)
model.unlink(self.cr, SUPERUSER_ID, [i])
+
+ def test_workflow_e(self):
+ model = self.registry('test.workflow.model.e')
+
+ i = model.create(self.cr, SUPERUSER_ID, {})
+ self.check_activities(model._name, i, ['b'])
+ self.check_value(model._name, i, 2)
+
+ model.unlink(self.cr, SUPERUSER_ID, [i])
+
+ def test_workflow_f(self):
+ model = self.registry('test.workflow.model.f')
+
+ i = model.create(self.cr, SUPERUSER_ID, {})
+ self.check_activities(model._name, i, ['a'])
+ self.check_value(model._name, i, 1)
+
+ model.signal_workflow(self.cr, SUPERUSER_ID, [i], 'a-b')
+ self.check_activities(model._name, i, ['b'])
+ self.check_value(model._name, i, 2)
+
+ model.unlink(self.cr, SUPERUSER_ID, [i])