New tests for inherited constructors.
[nit.git] / tests / base_init_inherit4.nit
diff --git a/tests/base_init_inherit4.nit b/tests/base_init_inherit4.nit
new file mode 100644 (file)
index 0000000..f269809
--- /dev/null
@@ -0,0 +1,85 @@
+import kernel
+
+redef interface Object
+
+       meth foo
+       do
+               'a'.output
+               '\n'.output
+       end
+end
+
+interface M
+       redef meth foo
+       do
+               'm'.output
+               super
+       end
+end
+
+class B
+       init cb
+       do
+               'B'.output
+       end
+
+       redef meth foo
+       do
+               'b'.output
+               super
+       end
+end
+
+interface N
+       redef meth foo
+       do
+               'n'.output
+               super
+       end
+end
+
+class O
+special M
+special B
+       redef meth foo
+       do
+               'o'.output
+               super
+       end
+end
+
+class P
+special B
+special N
+       redef meth foo
+       do
+               'p'.output
+               super
+       end
+end
+
+class Q
+#alt0#special M
+#alt0#special B
+#alt0#special N
+
+#alt1#special O
+#alt1#special N
+
+#alt2#special M
+#alt2#special P
+       
+#alt3#special O
+#alt3#special P
+       redef meth foo
+       do
+               'q'.output
+               super
+       end
+end
+
+(new B.cb).foo
+(new O.cb).foo
+(new P.cb).foo
+(new Q.cb).foo
+