diff --git a/src/scripts/pyolian/eolian.py b/src/scripts/pyolian/eolian.py index 9ab6abd01e..31f4f06f44 100644 --- a/src/scripts/pyolian/eolian.py +++ b/src/scripts/pyolian/eolian.py @@ -739,6 +739,7 @@ class Class(Object): def do_class_recursive(cls): if cls.parent: li.append(cls.parent) + do_class_recursive(cls.parent) for other in cls.extensions: if other not in li: li.append(other) diff --git a/src/scripts/pyolian/test_eolian.py b/src/scripts/pyolian/test_eolian.py index 4aa4588640..b6090c661e 100755 --- a/src/scripts/pyolian/test_eolian.py +++ b/src/scripts/pyolian/test_eolian.py @@ -699,3 +699,8 @@ class TestEolianExpression(object): # exp.binary_operator # TODO find a better test (only works for BINARY expr) # exp.binary_lhs # TODO find a better test (only works for BINARY expr) # exp.binary_rhs # TODO find a better test (only works for BINARY expr) + +class TestEolianInherits(object): + def test_inherits_full(self, eolian_db): + cls = eolian_db.class_by_name_get('Efl.Ui.Widget') + assert 'Efl.Object' in cls.inherits_full