From: Mark Wooding Date: Fri, 6 Jul 2018 23:03:10 +0000 (+0100) Subject: test/test.sod: Test that class initializers work properly. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/4aea4c6051739307ccbe0e2d87726ba39cb21dbb?ds=inline test/test.sod: Test that class initializers work properly. --- diff --git a/test/test.sod b/test/test.sod index 37aa3d2..47e8545 100644 --- a/test/test.sod +++ b/test/test.sod @@ -303,4 +303,24 @@ code c: tests { } } +/*----- Metaclass initialization ------------------------------------------*/ + +[link = SodClass, nick = mycls] +class MyClass: SodClass { + int x = -1, y, z = 2; +} + +[link = SodObject, nick = myobj, metaclass = MyClass] +class MyObject: SodObject { + class mycls.x = 0, mycls.y = 1; +} + +code c: tests { + prepare("metaclass, init"); + STEP(MyObject__cls_obj->mycls.x); + STEP(MyObject__cls_obj->mycls.y); + STEP(MyObject__cls_obj->mycls.z); + DONE(3); +} + /*----- That's all, folks -------------------------------------------------*/