import cpp.cppia.Host; import HostBase; class HostOne implements pack.HostInterface { public static var called = 0; public function new() { } public function getOne() : Int { called ++; return 1; } public function getOneString() : String { called++; return "1"; } } class CppiaHost { public static function main() { Common.hostImplementation = new HostOne(); Common.callback = () -> Common.callbackSet = 1; /* if (new HostExtends().getYou().extendOnly != 1) { Sys.println("extend-overide type failed"); Sys.exit(-1); } */ Host.main(); Sys.println("TestStatus: " + Common.status ); if (Common.status!="ok") { Sys.println("failed"); Sys.exit(-1); } else { if (HostOne.called!=2) { Sys.println("No client implementation call - failed"); Sys.exit(-1); } if (Common.clientImplementation==null) { Sys.println("No client implementation - failed"); Sys.exit(-1); } if (Common.clientImplementation.getOne()!=1) { Sys.println("Bad client Int implementation - failed"); Sys.exit(-1); } if (Common.clientImplementation.getOneString()!="1") { Sys.println("Bad client String implementation - failed"); Sys.exit(-1); } var hostBase:HostBase = Type.createInstance(Type.resolveClass("ClientExtends2"),[]); if (!hostBase.testUpdateOverride()) { Sys.println("Bad update override"); Sys.exit(-1); } Common.callback(); if (Common.callbackSet!=2) { Sys.println("Bad cppia closure"); Sys.exit(-1); } } } }