mirror of
https://github.com/ganelson/inform.git
synced 2024-07-18 06:54:26 +03:00
47 lines
1.6 KiB
OpenEdge ABL
47 lines
1.6 KiB
OpenEdge ABL
[Unit::] Unit Tests.
|
|
|
|
How we shall test it.
|
|
|
|
@ =
|
|
void Unit::test_compatibility(OUTPUT_STREAM) {
|
|
Unit::test_one(OUT, I"for all");
|
|
Unit::test_one(OUT, I"all");
|
|
Unit::test_one(OUT, I"not for all");
|
|
Unit::test_one(OUT, I"not all");
|
|
Unit::test_one(OUT, I"for none");
|
|
Unit::test_one(OUT, I"none");
|
|
Unit::test_one(OUT, I"not for none");
|
|
Unit::test_one(OUT, I"not none");
|
|
Unit::test_one(OUT, I"for 16-bit with debugging");
|
|
Unit::test_one(OUT, I"not for 32-bit");
|
|
Unit::test_one(OUT, I"for 16-bit with debugging or 32-bit with debugging");
|
|
Unit::test_one(OUT, I"not for 32-bit or 16-bit");
|
|
Unit::test_one(OUT, I"for 16-bit with debugging, 32-bit with debugging or 32-bit");
|
|
Unit::test_one(OUT, I"not for 16-bit with debugging, 32-bit with debugging or 32-bit");
|
|
Unit::test_one(OUT, I"for glulx");
|
|
Unit::test_one(OUT, I"for glulx or z-machine version 8");
|
|
Unit::test_one(OUT, I"for glulx without debugging");
|
|
Unit::test_one(OUT, I"for z-machine version 8");
|
|
Unit::test_one(OUT, I"for z-machine version 5 with debugging");
|
|
Unit::test_one(OUT, I"for z-machine version 8, or Glulx without debugging");
|
|
Unit::test_one(OUT, I"for z-machine version 5 or 8");
|
|
Unit::test_one(OUT, I"for C");
|
|
Unit::test_one(OUT, I"for Inform6 version 8");
|
|
}
|
|
|
|
void Unit::test_one(OUTPUT_STREAM, text_stream *test) {
|
|
WRITE("'%S': ", test);
|
|
compatibility_specification *C = Compatibility::from_text(test);
|
|
if (C == NULL) { WRITE("not a valid compatibility specification\n\n"); return; }
|
|
Compatibility::write(OUT, C);
|
|
WRITE(":\n"); INDENT;
|
|
target_vm *VM;
|
|
LOOP_OVER(VM, target_vm) {
|
|
if (Compatibility::test(C, VM)) {
|
|
TargetVMs::write(OUT, VM);
|
|
WRITE("\n");
|
|
}
|
|
}
|
|
OUTDENT; WRITE("\n");
|
|
}
|