91 lines
2.0 KiB
Haxe
91 lines
2.0 KiB
Haxe
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|