]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Add "typeof" tests for fundamental GLib.Type
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 23 Oct 2019 12:21:49 +0000 (14:21 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 7 Nov 2019 11:11:48 +0000 (12:11 +0100)
tests/Makefile.am
tests/basic-types/default-gtype.vala [new file with mode: 0644]

index b6ed4f9310a5fa94956c4670d4456d694f220b87..51ee4d41d8f3d2a4d91782fa9ddaa349a3428f9f 100644 (file)
@@ -24,6 +24,7 @@ TESTS = \
        basic-types/escape-chars.vala \
        basic-types/floats.vala \
        basic-types/custom-types.vala \
+       basic-types/default-gtype.vala \
        basic-types/strings.vala \
        basic-types/arrays.vala \
        basic-types/arrays-fixed-assignment.vala \
diff --git a/tests/basic-types/default-gtype.vala b/tests/basic-types/default-gtype.vala
new file mode 100644 (file)
index 0000000..26ee7f2
--- /dev/null
@@ -0,0 +1,44 @@
+//[CCode (cheader_filename = "glib-object.h", cname = "G_TYPE_STRV")]
+//extern GLib.Type G_TYPE_STRV;
+
+interface IFoo {
+}
+
+enum FooEnum {
+       FOO
+}
+
+[Flags]
+enum FooFlag {
+       FOO
+}
+
+struct FooStruct {
+       public int i;
+}
+
+void main () {
+       assert (typeof (bool) == GLib.Type.BOOLEAN);
+       assert (typeof (FooStruct).is_a (GLib.Type.BOXED));
+       assert (typeof (char) == GLib.Type.CHAR);
+       assert (typeof (double) == GLib.Type.DOUBLE);
+       assert (typeof (FooEnum).is_a (GLib.Type.ENUM));
+       assert (typeof (FooFlag).is_a (GLib.Type.FLAGS));
+       assert (typeof (float) == GLib.Type.FLOAT);
+       assert (typeof (int) == GLib.Type.INT);
+       assert (typeof (int64) == GLib.Type.INT64);
+       assert (typeof (IFoo).is_a (GLib.Type.INTERFACE));
+       assert (typeof (IFoo[]) == GLib.Type.INVALID);
+       assert (typeof (long) == GLib.Type.LONG);
+       assert (typeof (void) == GLib.Type.NONE);
+       assert (typeof (Object) == GLib.Type.OBJECT);
+       assert (typeof (ParamSpec) == GLib.Type.PARAM);
+       assert (typeof (void*) == GLib.Type.POINTER);
+       assert (typeof (string) == GLib.Type.STRING);
+       //assert (typeof (string[]) == G_TYPE_STRV);
+       assert (typeof (uchar) == GLib.Type.UCHAR);
+       assert (typeof (uint) == GLib.Type.UINT);
+       assert (typeof (uint64) == GLib.Type.UINT64);
+       assert (typeof (ulong) == GLib.Type.ULONG);
+       assert (typeof (Variant) == GLib.Type.VARIANT);
+}