nitj: add tests for the nitj engine
authorAlexandre Terrasa <alexandre@moz-code.org>
Mon, 20 Jul 2015 17:58:31 +0000 (13:58 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Tue, 21 Jul 2015 21:23:19 +0000 (17:23 -0400)
Reused tests from `nitg-e`.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

65 files changed:
tests/sav/nitj.res [new file with mode: 0644]
tests/sav/nitj/base_autocast_alt1.res [new file with mode: 0644]
tests/sav/nitj/base_autocast_array_alt2.res [new file with mode: 0644]
tests/sav/nitj/base_class_name.res [new file with mode: 0644]
tests/sav/nitj/base_dead_code_alt1.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance2_alt1.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance2_alt2.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance_alt3.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance_alt5.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance_alt6.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance_alt7.res [new file with mode: 0644]
tests/sav/nitj/base_gen_variance_alt8.res [new file with mode: 0644]
tests/sav/nitj/base_isa_gen1.res [new file with mode: 0644]
tests/sav/nitj/base_isa_gen4.res [new file with mode: 0644]
tests/sav/nitj/base_isa_gen5.res [new file with mode: 0644]
tests/sav/nitj/base_isa_gen7.res [new file with mode: 0644]
tests/sav/nitj/base_isa_nullable1.res [new file with mode: 0644]
tests/sav/nitj/base_isa_nullable2.res [new file with mode: 0644]
tests/sav/nitj/base_isa_vt3.res [new file with mode: 0644]
tests/sav/nitj/base_isa_vt_ft.res [new file with mode: 0644]
tests/sav/nitj/base_notnull_lit.res [new file with mode: 0644]
tests/sav/nitj/base_output_class_name.res [new file with mode: 0644]
tests/sav/nitj/base_self_type.res [new file with mode: 0644]
tests/sav/nitj/base_self_type_alt2.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_attr_gen_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_gen_1alt1_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_gen_1alt1_alt2.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_gen_alt3.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_gen_alt4.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_int2_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_int_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_covar_int_alt5.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_formal_isa.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_reassign_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_reassign_alt2.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_reassign_alt4.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_reassign_alt5.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_reassign_alt6.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_variance3_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_gen_variance_int_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_isa_formal_type.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_isa_gen.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_vararg2.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_vararg2_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_vararg2_alt2.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_vararg2_alt3.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_vararg2_alt4.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_vararg2_alt5.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_virtual_int2_alt2.res [new file with mode: 0644]
tests/sav/nitj/fixme/base_virtual_type_variance_int_alt1.res [new file with mode: 0644]
tests/sav/nitj/fixme/converter.res [new file with mode: 0644]
tests/sav/nitj/test_array_formal.res [new file with mode: 0644]
tests/sav/nitj/test_json_deserialization_alt1.res [new file with mode: 0644]
tests/sav/nitj/test_meta.res [new file with mode: 0644]
tests/sav/nitj/test_new_native.res [new file with mode: 0644]
tests/sav/nitj/test_new_native_alt1.res [new file with mode: 0644]
tests/sav/nitj/test_serialization.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_alt2.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_alt3.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_alt4.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_alt5.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_redef.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_redef_alt0.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_redef_alt1.res [new file with mode: 0644]
tests/sav/nitj/test_serialization_redef_alt2.res [new file with mode: 0644]

diff --git a/tests/sav/nitj.res b/tests/sav/nitj.res
new file mode 100644 (file)
index 0000000..e50ad70
--- /dev/null
@@ -0,0 +1,2 @@
+Usage: [OPTION]... [ARG]...
+Use --help for help
diff --git a/tests/sav/nitj/base_autocast_alt1.res b/tests/sav/nitj/base_autocast_alt1.res
new file mode 100644 (file)
index 0000000..099b7d9
--- /dev/null
@@ -0,0 +1,4 @@
+1
+2
+1
+2
diff --git a/tests/sav/nitj/base_autocast_array_alt2.res b/tests/sav/nitj/base_autocast_array_alt2.res
new file mode 100644 (file)
index 0000000..91b441c
--- /dev/null
@@ -0,0 +1,3 @@
+Runtime error: Cast failed (alt/base_autocast_array_alt2.nit:45)
+10
+10
diff --git a/tests/sav/nitj/base_class_name.res b/tests/sav/nitj/base_class_name.res
new file mode 100644 (file)
index 0000000..a0915cd
--- /dev/null
@@ -0,0 +1,6 @@
+FlatString
+Int
+Test
+Test
+MyArray
+TotoToto
diff --git a/tests/sav/nitj/base_dead_code_alt1.res b/tests/sav/nitj/base_dead_code_alt1.res
new file mode 100644 (file)
index 0000000..4248087
--- /dev/null
@@ -0,0 +1,6 @@
+alt/base_dead_code_alt1.nit:23,3: Warning: expression is not null, since it is a `Array[Int]`.
+alt/base_dead_code_alt1.nit:34,10--21: Warning: expression is already a `String`.
+Runtime error: Cast failed. Expected `String`, got `Array` (alt/base_dead_code_alt1.nit:22)
+0
+1
+1
diff --git a/tests/sav/nitj/base_gen_variance2_alt1.res b/tests/sav/nitj/base_gen_variance2_alt1.res
new file mode 100644 (file)
index 0000000..a208171
--- /dev/null
@@ -0,0 +1,5 @@
+3
+2
+!3
+!2
+!100
diff --git a/tests/sav/nitj/base_gen_variance2_alt2.res b/tests/sav/nitj/base_gen_variance2_alt2.res
new file mode 100644 (file)
index 0000000..8e5730c
--- /dev/null
@@ -0,0 +1,5 @@
+3
+100
+!3
+!2
+!100
diff --git a/tests/sav/nitj/base_gen_variance_alt3.res b/tests/sav/nitj/base_gen_variance_alt3.res
new file mode 100644 (file)
index 0000000..721e38f
--- /dev/null
@@ -0,0 +1,6 @@
+Runtime error: Cast failed (alt/base_gen_variance_alt3.nit:66)
+2
+20
+2
+20
+20
diff --git a/tests/sav/nitj/base_gen_variance_alt5.res b/tests/sav/nitj/base_gen_variance_alt5.res
new file mode 100644 (file)
index 0000000..3b93637
--- /dev/null
@@ -0,0 +1,9 @@
+Runtime error: Cast failed (alt/base_gen_variance_alt5.nit:99)
+2
+20
+2
+20
+2
+20
+2
+20
diff --git a/tests/sav/nitj/base_gen_variance_alt6.res b/tests/sav/nitj/base_gen_variance_alt6.res
new file mode 100644 (file)
index 0000000..43e5f2b
--- /dev/null
@@ -0,0 +1,9 @@
+Runtime error: Cast failed (alt/base_gen_variance_alt6.nit:105)
+2
+20
+2
+20
+2
+20
+2
+20
diff --git a/tests/sav/nitj/base_gen_variance_alt7.res b/tests/sav/nitj/base_gen_variance_alt7.res
new file mode 100644 (file)
index 0000000..7dcbcf0
--- /dev/null
@@ -0,0 +1,10 @@
+2
+20
+2
+20
+2
+20
+2
+20
+2
+20
diff --git a/tests/sav/nitj/base_gen_variance_alt8.res b/tests/sav/nitj/base_gen_variance_alt8.res
new file mode 100644 (file)
index 0000000..7dcbcf0
--- /dev/null
@@ -0,0 +1,10 @@
+2
+20
+2
+20
+2
+20
+2
+20
+2
+20
diff --git a/tests/sav/nitj/base_isa_gen1.res b/tests/sav/nitj/base_isa_gen1.res
new file mode 100644 (file)
index 0000000..4000211
--- /dev/null
@@ -0,0 +1,4 @@
+base_isa_gen1.nit:62,8--14: Warning: expression is already a `A` since it is a `F`.
+base_isa_gen1.nit:65,8--30: Warning: expression is already a `D[Object, Object]` since it is a `G[Object]`.
+base_isa_gen1.nit:66,8--30: Warning: expression is already a `D[Object, Object]` since it is a `E[F]`.
+Runtime error: Assert failed (base_isa_gen1.nit:68)
diff --git a/tests/sav/nitj/base_isa_gen4.res b/tests/sav/nitj/base_isa_gen4.res
new file mode 100644 (file)
index 0000000..203c263
--- /dev/null
@@ -0,0 +1,5 @@
+base_isa_gen4.nit:34,8--15: Warning: expression is already a `A` since it is a `B[Canard]`.
+base_isa_gen4.nit:36,8--23: Warning: expression is already a `B[Animal]` since it is a `B[Canard]`.
+base_isa_gen4.nit:40,8--26: Warning: expression is already a `B[B[Canard]]`.
+base_isa_gen4.nit:42,8--26: Warning: expression is already a `B[B[Animal]]` since it is a `B[B[Canard]]`.
+Runtime error: Assert failed (base_isa_gen4.nit:37)
diff --git a/tests/sav/nitj/base_isa_gen5.res b/tests/sav/nitj/base_isa_gen5.res
new file mode 100644 (file)
index 0000000..26754cf
--- /dev/null
@@ -0,0 +1,5 @@
+base_isa_gen5.nit:39,8--15: Warning: expression is already a `A` since it is a `B[Canard]`.
+base_isa_gen5.nit:41,8--23: Warning: expression is already a `B[Animal]` since it is a `B[Canard]`.
+base_isa_gen5.nit:46,8--26: Warning: expression is already a `B[B[Canard]]`.
+base_isa_gen5.nit:48,8--26: Warning: expression is already a `B[B[Animal]]` since it is a `B[B[Canard]]`.
+Runtime error: Assert failed (base_isa_gen5.nit:42)
diff --git a/tests/sav/nitj/base_isa_gen7.res b/tests/sav/nitj/base_isa_gen7.res
new file mode 100644 (file)
index 0000000..dc14d35
--- /dev/null
@@ -0,0 +1 @@
+Runtime error: Assert failed (base_isa_gen7.nit:49)
diff --git a/tests/sav/nitj/base_isa_nullable1.res b/tests/sav/nitj/base_isa_nullable1.res
new file mode 100644 (file)
index 0000000..ff43ba5
--- /dev/null
@@ -0,0 +1,6 @@
+base_isa_nullable1.nit:39,8--15: Warning: expression is already a `A` since it is a `B[Integer]`.
+base_isa_nullable1.nit:41,8--25: Warning: expression is already a `B[Discrete]` since it is a `B[Integer]`.
+base_isa_nullable1.nit:46,8--27: Warning: expression is already a `B[B[Integer]]`.
+base_isa_nullable1.nit:48,8--28: Warning: expression is already a `B[B[Discrete]]` since it is a `B[B[Integer]]`.
+base_isa_nullable1.nit:50,8--34: Warning: expression is already a `B[nullable Discrete]` since it is a `B[Discrete]`.
+Runtime error: Assert failed (base_isa_nullable1.nit:42)
diff --git a/tests/sav/nitj/base_isa_nullable2.res b/tests/sav/nitj/base_isa_nullable2.res
new file mode 100644 (file)
index 0000000..84216d5
--- /dev/null
@@ -0,0 +1,5 @@
+base_isa_nullable2.nit:27,8--23: Warning: expression is already a `nullable A` since it is a `A`.
+base_isa_nullable2.nit:29,8--31: Warning: expression is already a `nullable B[Object]` since it is a `B[Object]`.
+base_isa_nullable2.nit:30,8--40: Warning: expression is already a `nullable B[nullable Object]` since it is a `nullable B[Object]`.
+base_isa_nullable2.nit:33,8--31: Warning: expression is already a `C[nullable Object]`.
+Runtime error: Assert failed (base_isa_nullable2.nit:32)
diff --git a/tests/sav/nitj/base_isa_vt3.res b/tests/sav/nitj/base_isa_vt3.res
new file mode 100644 (file)
index 0000000..54e76c5
--- /dev/null
@@ -0,0 +1 @@
+Runtime error: Assert failed (base_isa_vt3.nit:42)
diff --git a/tests/sav/nitj/base_isa_vt_ft.res b/tests/sav/nitj/base_isa_vt_ft.res
new file mode 100644 (file)
index 0000000..03110b0
--- /dev/null
@@ -0,0 +1 @@
+Runtime error: Assert failed (base_isa_vt_ft.nit:55)
diff --git a/tests/sav/nitj/base_notnull_lit.res b/tests/sav/nitj/base_notnull_lit.res
new file mode 100644 (file)
index 0000000..aa58772
--- /dev/null
@@ -0,0 +1,4 @@
+Array
+[1,5,6]
+Range
+[1,2,3,4,5]
diff --git a/tests/sav/nitj/base_output_class_name.res b/tests/sav/nitj/base_output_class_name.res
new file mode 100644 (file)
index 0000000..c394072
--- /dev/null
@@ -0,0 +1,6 @@
+Char
+Int
+Test
+Test
+MyArray
+0
diff --git a/tests/sav/nitj/base_self_type.res b/tests/sav/nitj/base_self_type.res
new file mode 100644 (file)
index 0000000..3c20b42
--- /dev/null
@@ -0,0 +1,11 @@
+X
+X
+X
+Y
+Y
+Y
+Y
+A
+G
+B
+G
diff --git a/tests/sav/nitj/base_self_type_alt2.res b/tests/sav/nitj/base_self_type_alt2.res
new file mode 100644 (file)
index 0000000..3c20b42
--- /dev/null
@@ -0,0 +1,11 @@
+X
+X
+X
+Y
+Y
+Y
+Y
+A
+G
+B
+G
diff --git a/tests/sav/nitj/fixme/base_attr_gen_alt1.res b/tests/sav/nitj/fixme/base_attr_gen_alt1.res
new file mode 100644 (file)
index 0000000..3b45242
--- /dev/null
@@ -0,0 +1 @@
+Runtime error: Cast failed (alt/base_attr_gen_alt1.nit:26)
diff --git a/tests/sav/nitj/fixme/base_covar_gen_1alt1_alt1.res b/tests/sav/nitj/fixme/base_covar_gen_1alt1_alt1.res
new file mode 100644 (file)
index 0000000..912346a
--- /dev/null
@@ -0,0 +1 @@
+G0
diff --git a/tests/sav/nitj/fixme/base_covar_gen_1alt1_alt2.res b/tests/sav/nitj/fixme/base_covar_gen_1alt1_alt2.res
new file mode 100644 (file)
index 0000000..912346a
--- /dev/null
@@ -0,0 +1 @@
+G0
diff --git a/tests/sav/nitj/fixme/base_covar_gen_alt3.res b/tests/sav/nitj/fixme/base_covar_gen_alt3.res
new file mode 100644 (file)
index 0000000..332b60c
--- /dev/null
@@ -0,0 +1 @@
+GG0
diff --git a/tests/sav/nitj/fixme/base_covar_gen_alt4.res b/tests/sav/nitj/fixme/base_covar_gen_alt4.res
new file mode 100644 (file)
index 0000000..332b60c
--- /dev/null
@@ -0,0 +1 @@
+GG0
diff --git a/tests/sav/nitj/fixme/base_covar_int2_alt1.res b/tests/sav/nitj/fixme/base_covar_int2_alt1.res
new file mode 100644 (file)
index 0000000..9c5d958
--- /dev/null
@@ -0,0 +1,4 @@
+1
+1
+a1
+a
diff --git a/tests/sav/nitj/fixme/base_covar_int_alt1.res b/tests/sav/nitj/fixme/base_covar_int_alt1.res
new file mode 100644 (file)
index 0000000..f98f9e1
--- /dev/null
@@ -0,0 +1,5 @@
+true
+true
+false
+true
+true
diff --git a/tests/sav/nitj/fixme/base_covar_int_alt5.res b/tests/sav/nitj/fixme/base_covar_int_alt5.res
new file mode 100644 (file)
index 0000000..36c7afa
--- /dev/null
@@ -0,0 +1,5 @@
+true
+true
+true
+true
+true
diff --git a/tests/sav/nitj/fixme/base_formal_isa.res b/tests/sav/nitj/fixme/base_formal_isa.res
new file mode 100644 (file)
index 0000000..7912ac6
--- /dev/null
@@ -0,0 +1,23 @@
+A
+true
+true
+false
+
+G
+true
+true
+false
+true
+false
+
+G
+A
+false
+true
+true
+false
+false
+false
+false
+true
+false
diff --git a/tests/sav/nitj/fixme/base_gen_reassign_alt1.res b/tests/sav/nitj/fixme/base_gen_reassign_alt1.res
new file mode 100644 (file)
index 0000000..bd6deed
--- /dev/null
@@ -0,0 +1,7 @@
+Runtime error: Cast failed (alt/base_gen_reassign_alt1.nit:42)
+11
+21
+31
+12
+22
+32
diff --git a/tests/sav/nitj/fixme/base_gen_reassign_alt2.res b/tests/sav/nitj/fixme/base_gen_reassign_alt2.res
new file mode 100644 (file)
index 0000000..776a9d8
--- /dev/null
@@ -0,0 +1,7 @@
+Runtime error: Cast failed (alt/base_gen_reassign_alt2.nit:45)
+11
+21
+31
+12
+22
+32
diff --git a/tests/sav/nitj/fixme/base_gen_reassign_alt4.res b/tests/sav/nitj/fixme/base_gen_reassign_alt4.res
new file mode 100644 (file)
index 0000000..d93978e
--- /dev/null
@@ -0,0 +1,10 @@
+Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:542)
+11
+21
+31
+12
+22
+32
+12
+22
+32
diff --git a/tests/sav/nitj/fixme/base_gen_reassign_alt5.res b/tests/sav/nitj/fixme/base_gen_reassign_alt5.res
new file mode 100644 (file)
index 0000000..d93978e
--- /dev/null
@@ -0,0 +1,10 @@
+Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:542)
+11
+21
+31
+12
+22
+32
+12
+22
+32
diff --git a/tests/sav/nitj/fixme/base_gen_reassign_alt6.res b/tests/sav/nitj/fixme/base_gen_reassign_alt6.res
new file mode 100644 (file)
index 0000000..d93978e
--- /dev/null
@@ -0,0 +1,10 @@
+Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:542)
+11
+21
+31
+12
+22
+32
+12
+22
+32
diff --git a/tests/sav/nitj/fixme/base_gen_variance3_alt1.res b/tests/sav/nitj/fixme/base_gen_variance3_alt1.res
new file mode 100644 (file)
index 0000000..458bcc5
--- /dev/null
@@ -0,0 +1,4 @@
+2
+100
+!2
+!100
diff --git a/tests/sav/nitj/fixme/base_gen_variance_int_alt1.res b/tests/sav/nitj/fixme/base_gen_variance_int_alt1.res
new file mode 100644 (file)
index 0000000..0096ae2
--- /dev/null
@@ -0,0 +1,4 @@
+2
+2
+!2
+!100
diff --git a/tests/sav/nitj/fixme/base_isa_formal_type.res b/tests/sav/nitj/fixme/base_isa_formal_type.res
new file mode 100644 (file)
index 0000000..bba20e9
--- /dev/null
@@ -0,0 +1,63 @@
+true
+true
+true
+true
+true
+true
+true
+true
+
+true
+true
+true
+true
+true
+true
+true
+true
+
+true
+true
+false
+true
+true
+true
+true
+true
+
+true
+true
+true
+true
+true
+true
+true
+true
+
+true
+true
+true
+true
+true
+true
+true
+true
+
+true
+true
+true
+true
+true
+true
+true
+true
+
+true
+true
+true
+true
+true
+true
+true
+true
+
diff --git a/tests/sav/nitj/fixme/base_isa_gen.res b/tests/sav/nitj/fixme/base_isa_gen.res
new file mode 100644 (file)
index 0000000..93d2c6f
--- /dev/null
@@ -0,0 +1,49 @@
+true
+true
+true
+true
+true
+true
+
+false
+true
+true
+true
+true
+true
+
+false
+true
+true
+true
+true
+true
+
+false
+true
+true
+true
+true
+true
+
+false
+true
+true
+true
+true
+true
+
+false
+true
+true
+true
+true
+true
+
+false
+false
+false
+false
+false
+false
+
diff --git a/tests/sav/nitj/fixme/base_vararg2.res b/tests/sav/nitj/fixme/base_vararg2.res
new file mode 100644 (file)
index 0000000..c9a9806
--- /dev/null
@@ -0,0 +1,36 @@
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
diff --git a/tests/sav/nitj/fixme/base_vararg2_alt1.res b/tests/sav/nitj/fixme/base_vararg2_alt1.res
new file mode 100644 (file)
index 0000000..8c97a29
--- /dev/null
@@ -0,0 +1,39 @@
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
diff --git a/tests/sav/nitj/fixme/base_vararg2_alt2.res b/tests/sav/nitj/fixme/base_vararg2_alt2.res
new file mode 100644 (file)
index 0000000..2a90b4b
--- /dev/null
@@ -0,0 +1,39 @@
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
diff --git a/tests/sav/nitj/fixme/base_vararg2_alt3.res b/tests/sav/nitj/fixme/base_vararg2_alt3.res
new file mode 100644 (file)
index 0000000..2a90b4b
--- /dev/null
@@ -0,0 +1,39 @@
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
diff --git a/tests/sav/nitj/fixme/base_vararg2_alt4.res b/tests/sav/nitj/fixme/base_vararg2_alt4.res
new file mode 100644 (file)
index 0000000..c919e2b
--- /dev/null
@@ -0,0 +1,39 @@
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
diff --git a/tests/sav/nitj/fixme/base_vararg2_alt5.res b/tests/sav/nitj/fixme/base_vararg2_alt5.res
new file mode 100644 (file)
index 0000000..2731703
--- /dev/null
@@ -0,0 +1,39 @@
+Array
+ Int
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Int
+ Int
+Array
+ Bool
+ Bool
+Array
+ Int
+ Int
diff --git a/tests/sav/nitj/fixme/base_virtual_int2_alt2.res b/tests/sav/nitj/fixme/base_virtual_int2_alt2.res
new file mode 100644 (file)
index 0000000..2e435a2
--- /dev/null
@@ -0,0 +1,3 @@
+4
+4
+4
diff --git a/tests/sav/nitj/fixme/base_virtual_type_variance_int_alt1.res b/tests/sav/nitj/fixme/base_virtual_type_variance_int_alt1.res
new file mode 100644 (file)
index 0000000..0096ae2
--- /dev/null
@@ -0,0 +1,4 @@
+2
+2
+!2
+!100
diff --git a/tests/sav/nitj/fixme/converter.res b/tests/sav/nitj/fixme/converter.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/nitj/test_array_formal.res b/tests/sav/nitj/test_array_formal.res
new file mode 100644 (file)
index 0000000..b313f9a
--- /dev/null
@@ -0,0 +1,51 @@
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+true
+true
+true
+
+
diff --git a/tests/sav/nitj/test_json_deserialization_alt1.res b/tests/sav/nitj/test_json_deserialization_alt1.res
new file mode 100644 (file)
index 0000000..f4b4a49
--- /dev/null
@@ -0,0 +1,40 @@
+Runtime error: Aborted (../lib/serialization/serialization.nit:111)
+# Nit:
+<A: true a 0.123 1234 asdf false p4ssw0rd>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null}
+
+# Back in Nit:
+<A: true a 0.123 1234 asdf false p4ssw0rd>
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false p4ssw0rd> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "ii": 1111, "ss": "qwer"}
+
+# Back in Nit:
+<B: <A: false b 123.123 2345 hjkl false p4ssw0rd> 1111 qwer>
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false p4ssw0rd> <B: <A: false b 123.123 2345 hjkl false p4ssw0rd> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null}, "b": {"__kind": "obj", "__id": 2, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "ii": 1111, "ss": "qwer"}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Back in Nit:
+<C: <A: true a 0.123 1234 asdf false p4ssw0rd> <B: <A: false b 123.123 2345 hjkl false p4ssw0rd> 1111 qwer>>
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false p4ssw0rd> 1111        f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+
+# Back in Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false p4ssw0rd> 1111        f"\r\/> true>
+
+Error: doesn't know how to deserialize class "Array"
diff --git a/tests/sav/nitj/test_meta.res b/tests/sav/nitj/test_meta.res
new file mode 100644 (file)
index 0000000..ad6cdbf
--- /dev/null
@@ -0,0 +1,14 @@
+FlatString
+FlatString
+Class
+Class
+
+XObject
+XObject
+XClass
+Class
+
+YObject
+YObject
+YClass
+YClass
diff --git a/tests/sav/nitj/test_new_native.res b/tests/sav/nitj/test_new_native.res
new file mode 100644 (file)
index 0000000..44b504c
--- /dev/null
@@ -0,0 +1,9 @@
+NativeString
+N
+Nit
+NativeArray
+3
+1
+1,10,100
+1
+1
diff --git a/tests/sav/nitj/test_new_native_alt1.res b/tests/sav/nitj/test_new_native_alt1.res
new file mode 100644 (file)
index 0000000..cf6635c
--- /dev/null
@@ -0,0 +1,9 @@
+NativeString
+N
+Nit
+NativeArray
+3
+1
+1,true,100
+1
+1
diff --git a/tests/sav/nitj/test_serialization.res b/tests/sav/nitj/test_serialization.res
new file mode 100644 (file)
index 0000000..4217115
--- /dev/null
@@ -0,0 +1,25 @@
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_alt2.res b/tests/sav/nitj/test_serialization_alt2.res
new file mode 100644 (file)
index 0000000..34da2d6
--- /dev/null
@@ -0,0 +1,28 @@
+alt/test_serialization_alt2.nit:22,1--47,3: Warning: superfluous use of `serialize`.
+alt/test_serialization_alt2.nit:70,1--86,3: Warning: superfluous use of `auto_serializable`.
+alt/test_serialization_alt2.nit:88,1--96,3: Warning: superfluous use of `auto_serializable`.
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_alt3.res b/tests/sav/nitj/test_serialization_alt3.res
new file mode 100644 (file)
index 0000000..afd0ee8
--- /dev/null
@@ -0,0 +1,26 @@
+alt/test_serialization_alt3.nit:49,1--68,3: Warning: superfluous use of `noserialize`.
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_alt4.res b/tests/sav/nitj/test_serialization_alt4.res
new file mode 100644 (file)
index 0000000..e843c62
--- /dev/null
@@ -0,0 +1,26 @@
+alt/test_serialization_alt4.nit:29,2--31,26: Warning: superfluous use of `serialize`.
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_alt5.res b/tests/sav/nitj/test_serialization_alt5.res
new file mode 100644 (file)
index 0000000..d4ba4e1
--- /dev/null
@@ -0,0 +1,26 @@
+alt/test_serialization_alt5.nit:22,1--47,3: Warning: duplicated annotation `serialize`.
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_redef.res b/tests/sav/nitj/test_serialization_redef.res
new file mode 100644 (file)
index 0000000..4217115
--- /dev/null
@@ -0,0 +1,25 @@
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer"}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_redef_alt0.res b/tests/sav/nitj/test_serialization_redef_alt0.res
new file mode 100644 (file)
index 0000000..53a12e3
--- /dev/null
@@ -0,0 +1,25 @@
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef"}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "qwer"}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef"}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "qwer"}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_redef_alt1.res b/tests/sav/nitj/test_serialization_redef_alt1.res
new file mode 100644 (file)
index 0000000..60bf2d1
--- /dev/null
@@ -0,0 +1,25 @@
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer", "ffff": 6.789, "bbbb": false}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "qwer", "ffff": 6.789, "bbbb": false}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
+
diff --git a/tests/sav/nitj/test_serialization_redef_alt2.res b/tests/sav/nitj/test_serialization_redef_alt2.res
new file mode 100644 (file)
index 0000000..32f461f
--- /dev/null
@@ -0,0 +1,25 @@
+# Nit:
+<A: true a 0.123 1234 asdf false>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef"}
+
+# Nit:
+<B: <A: false b 123.123 2345 hjkl false> 1111 qwer>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "qwer", "ffff": 6.789, "bbbb": false}
+
+# Nit:
+<C: <A: true a 0.123 1234 asdf false> <B: <A: false b 123.123 2345 hjkl false> 1111 qwer>>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "C", "a": {"__kind": "obj", "__id": 1, "__class": "A", "b": true, "c": {"__kind": "char", "__val": "a"}, "f": 0.123, "i": 1234, "s": "asdf", "n": null, "array": {"__kind": "obj", "__id": 2, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef"}, "b": {"__kind": "obj", "__id": 3, "__class": "B", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "hjkl", "n": null, "array": {"__kind": "obj", "__id": 4, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "qwer", "ffff": 6.789, "bbbb": false}, "aa": {"__kind": "ref", "__id": 1}}
+
+# Nit:
+<D: <B: <A: false b 123.123 2345 new line ->
+<- false> 1111         f"\r\/> true>
+
+# Json:
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__length": 3, "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
+