#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