33 lines
734 B
C
33 lines
734 B
C
#ifndef __NO_ENVIRONMENT__
|
|
string err = 0;
|
|
string yes = 0;
|
|
|
|
#define YES(x) ASSERT2((talker->send(x), yes == x), x); ASSERT2((talker->send("no:" + x, this_object()), !err), err); ASSERT2((talker->send("no:" + x, ({ this_object() })), !err), err)
|
|
#define NO(x) ASSERT2((talker->send(x), !err), err)
|
|
|
|
void catch_tell(string str) {
|
|
if (str[0..2] != "yes")
|
|
err = str;
|
|
else
|
|
yes = str;
|
|
}
|
|
|
|
void do_tests() {
|
|
object tp;
|
|
object talker = new(__DIR__ "talker");
|
|
|
|
#ifndef __NO_ADD_ACTION__
|
|
SAVETP;
|
|
enable_commands();
|
|
RESTORETP;
|
|
#endif
|
|
NO("no-noenv");
|
|
talker->move(this_object());
|
|
|
|
YES("yes-inside");
|
|
talker->move(new("/single/void"));
|
|
move_object(talker);
|
|
YES("yes-outside");
|
|
}
|
|
#endif
|