Add unittest
This commit is contained in:
@@ -45,6 +45,13 @@ class InternalError : SmileBasicError
|
||||
this.errnum = 1;
|
||||
super("Internal Error");
|
||||
}
|
||||
Throwable throwable;
|
||||
this(Throwable throwable)
|
||||
{
|
||||
this.throwable = throwable;
|
||||
this.errnum = 1;
|
||||
super("Internal Error");
|
||||
}
|
||||
}
|
||||
class SyntaxError : SmileBasicError
|
||||
{
|
||||
|
||||
@@ -32,3 +32,11 @@ int main(string[] argv)
|
||||
}*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
unittest
|
||||
{
|
||||
auto petitcomputer = new PetitComputer();
|
||||
petitcomputer.run(true, "TEST.txt", false, true);
|
||||
assert(petitcomputer.lastError is null);
|
||||
}
|
||||
|
||||
|
||||
@@ -1128,6 +1128,7 @@ class PetitComputer
|
||||
bool isRunningDirectMode = false;
|
||||
GLenum textureScaleMode;
|
||||
int maincnt;
|
||||
SmileBasicError lastError;
|
||||
void run(bool nodirectmode = false, string inputfile = "", bool antialiasing = false, bool redirectConsole = false)
|
||||
{
|
||||
if (antialiasing)
|
||||
@@ -1180,9 +1181,11 @@ class PetitComputer
|
||||
if(sbe.getErrorMessage2.length) console.print(sbe.getErrorMessage2, "\n");
|
||||
writeln(sbe.to!string);
|
||||
writeln(sbe.getErrorMessage2);
|
||||
lastError = sbe;
|
||||
}
|
||||
catch(Throwable t)
|
||||
{
|
||||
lastError = new InternalError(t);
|
||||
writeln(t);
|
||||
}
|
||||
}
|
||||
@@ -1335,16 +1338,19 @@ class PetitComputer
|
||||
writeln(sbe.to!string);
|
||||
writeln(sbe.getErrorMessage2);
|
||||
writeln(sbe.func);
|
||||
lastError = sbe;
|
||||
loc = vm.currentLocation;
|
||||
console.print(vm.currentSlotNumber, ":", loc.line, ":", loc.pos, ":", program.slot[vm.currentSlotNumber].getLine(loc));
|
||||
}
|
||||
catch(Throwable t)
|
||||
{
|
||||
lastError = new InternalError(t);
|
||||
writeln(t);
|
||||
}
|
||||
}
|
||||
catch(Throwable t)
|
||||
{
|
||||
lastError = new InternalError(t);
|
||||
running = false;
|
||||
try
|
||||
{
|
||||
|
||||
2
dub.json
2
dub.json
@@ -10,5 +10,5 @@
|
||||
"buildRequirements": ["allowWarnings"],
|
||||
"targetPath": "out",
|
||||
"workingDirectory": "out",
|
||||
"copyFiles": ["SMILEBASIC/resources/*.txt", "SMILEBASIC/spdef.csv", "SMILEBASIC/dialogresource", "SDL_GameControllerDB/gamecontrollerdb.txt"]
|
||||
"copyFiles": ["SMILEBASIC/TEST.txt", "SMILEBASIC/resources/*.txt", "SMILEBASIC/spdef.csv", "SMILEBASIC/dialogresource", "SDL_GameControllerDB/gamecontrollerdb.txt"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user