nitc: fix calling extern constructors from extern code in separate compiler
[nit.git] / tests / test_serialization.nit
index e9c8bdd..59aac77 100644 (file)
@@ -1,17 +1,33 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2014 Alexis Laferrière <alexis.laf@xymus.net>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 import serialization
 import json_serialization
 
 # Simple class
 class A
        auto_serializable
-       super Serializable
 
-       var b: Bool
+       var b = false
        var c: Char
        var f: Float
-       var i: Int
-       var s: String
+       var i = 123
+       var s = "asdf"
        var n: nullable Int
+       var array = new Array[nullable Object].with_items(88, "hello", null)
 
        init(b: Bool, c: Char, f: Float, i: Int, s: String, n: nullable Int)
        do
@@ -47,10 +63,9 @@ end
 # Composed of an A and a B
 class C
        auto_serializable
-       super Serializable
 
        var a: A
-       var b: B
+       var b = new B(false, 'b', 123.123, 2345, "hjkl", 12, 1111, "qwer")
        var aa: A
 
        init(a: A, b: B)
@@ -79,7 +94,7 @@ var c = new C(a, b)
 var d = new D(false, 'b', 123.123, 2345, "new line ->\n<-", null, 1111, "\t\f\"\r\\/")
 d.d = d
 
-for o in new Array[nullable Serializable].with_items(a, b, c, d) do
+for o in new Array[Serializable].with_items(a, b, c, d) do
        var stream = new StringOStream
        var serializer = new JsonSerializer(stream)
        serializer.serialize(o)