tests: update for VT check
authorJean Privat <jean@pryen.org>
Tue, 22 Jul 2014 19:05:35 +0000 (15:05 -0400)
committerJean Privat <jean@pryen.org>
Wed, 23 Jul 2014 01:12:26 +0000 (21:12 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

tests/base_isa_formal_type.nit
tests/base_isa_vt_ft.nit
tests/base_isa_vt_gen1.nit
tests/base_isa_vt_gen3.nit
tests/base_virtual_type_redef.nit
tests/sav/base_isa_vt_gen1.res
tests/sav/base_virtual_type4.res
tests/sav/base_virtual_type4_alt1.res
tests/sav/base_virtual_type_redef.res
tests/sav/base_virtual_type_redef_alt1.res [new file with mode: 0644]
tests/sav/nitg-e/base_isa_vt_gen3.res [deleted file]

index 855298f..abbf631 100644 (file)
@@ -15,7 +15,7 @@
 import kernel
 
 class A[T]
-       type U: Object
+       type U: nullable Object
        fun testT(o: Object): Bool do return o isa T
        fun testU(o: Object): Bool do return o isa U
 
index c0de90b..6dab4d6 100644 (file)
@@ -24,7 +24,7 @@ enum Bool
 end
 
 class A[X]
-       type T: Object
+       type T: nullable Object
 
        fun foo(o: Object): Bool do
                return o isa T
@@ -43,7 +43,7 @@ end
 
 class C[X, Y]
        super B[X]
-       redef type T: Y
+       redef type T: X
 end
 
 var a = new A[Object]
@@ -57,7 +57,7 @@ assert not b.bar(new B[Object])
 assert b.bar(true)
 
 var c = new C[Object, B[Object]]
-assert not c.foo(new A[Object])
+assert c.foo(new A[Object])
 assert c.foo(new B[Object])
 assert c.foo(new C[Object, B[Object]])
 
index 7d823dc..869650b 100644 (file)
@@ -23,7 +23,7 @@ class Triple[X, Y, Z]
 end
 
 class A[T, U]
-       type V: Object
+       type V: nullable Object
 
        fun foo: Triple[T, U, V] do
                var triple = new Triple[T, U, V]
@@ -51,7 +51,7 @@ end
 
 
 var a = new A[String, Int]
-assert a.foo isa Triple[String, Int, Object]
+assert a.foo isa Triple[String, Int, nullable Object]
 
 var b = new B[String]
 assert b.foo isa Triple[String, String, String]
index 1aec20d..d6c2f0b 100644 (file)
@@ -17,7 +17,7 @@
 import base_minimal
 
 class A[X]
-       type T: Object
+       type T: nullable Object
 
        fun foo(o: Object): Bool do
                return o isa T
@@ -31,7 +31,7 @@ end
 
 class C[X]
        super B[X]
-       redef type T: C[B[X]]
+       redef type T: C[X]
 end
 
 var a = new A[Object]
@@ -45,7 +45,7 @@ assert b.foo(new C[Object])
 var c = new C[Object]
 assert not c.foo(new A[Object])
 assert not c.foo(new B[Object])
-assert not c.foo(new C[Object])
+assert c.foo(new C[Object])
 assert c.foo(new C[B[Object]])
 assert c.foo(new C[B[Bool]])
 
index 837bd46..0ba28ca 100644 (file)
 import kernel
 
 interface Number
-       type OTHER: Number
+       type OTHE: Number
+       type OTHE2: Int
 end
 
 redef class Int
        super Number
 
-       redef type OTHER: Int
+       redef type OTHE: Int
+       #alt1#redef type OTHE2: Number
 end
 
index 6aa8394..032236e 100644 (file)
@@ -1,5 +1,5 @@
 base_isa_vt_gen1.nit:30,10--34: Warning: Expression is already a Triple[A#0, A#1, V].
-base_isa_vt_gen1.nit:54,8--43: Warning: Expression is already a Triple[String, Int, Object].
+base_isa_vt_gen1.nit:54,8--52: Warning: Expression is already a Triple[String, Int, nullable Object].
 base_isa_vt_gen1.nit:57,8--46: Warning: Expression is already a Triple[String, String, String].
 base_isa_vt_gen1.nit:60,8--48: Warning: Expression is already a Triple[String, String, B[String]].
 base_isa_vt_gen1.nit:63,8--46: Warning: Expression is already a Triple[String, String, String].
index d00491f..13dcd34 100644 (file)
@@ -1 +1,2 @@
+base_virtual_type4.nit:20,16: Redef Error: a virtual type cannot be refined.
 1
index d72eb64..39bff1c 100644 (file)
@@ -1 +1,2 @@
+alt/base_virtual_type4_alt1.nit:20,16: Redef Error: a virtual type cannot be refined.
 alt/base_virtual_type4_alt1.nit:24,7--11: Type error: expected nullable U, got T
index a5ebee7..e69de29 100644 (file)
@@ -1 +0,0 @@
-base_virtual_type_redef.nit:24,13--17: Ambigous property name 'OTHER' for Int; conflict between standard::kernel::Comparable::OTHER and base_virtual_type_redef::Number::OTHER
diff --git a/tests/sav/base_virtual_type_redef_alt1.res b/tests/sav/base_virtual_type_redef_alt1.res
new file mode 100644 (file)
index 0000000..f6fa7dd
--- /dev/null
@@ -0,0 +1 @@
+alt/base_virtual_type_redef_alt1.nit:26,20--25: Redef Error: Wrong bound type. Found Number, expected a subtype of Int, as in base_virtual_type_redef_alt1#Number#OTHE2.
diff --git a/tests/sav/nitg-e/base_isa_vt_gen3.res b/tests/sav/nitg-e/base_isa_vt_gen3.res
deleted file mode 100644 (file)
index 4eb1aea..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Runtime error: Assert failed (base_isa_vt_gen3.nit:48)