15 lines
426 B
C
15 lines
426 B
C
int glob;
|
|
|
|
#define CANT_BIND(f) ASSERT(catch(bind(f, previous_object())))
|
|
#define CAN_BIND(f) ASSERT(bind(f, previous_object()))
|
|
|
|
void do_tests() {
|
|
CANT_BIND((: do_tests :));
|
|
CANT_BIND((: glob :));
|
|
CANT_BIND((: glob + 1 :));
|
|
CANT_BIND((: do_tests() :));
|
|
CAN_BIND((: $1 + $2 :));
|
|
ASSERT(functionp(bind( (: $1 :), this_object())));
|
|
ASSERT(evaluate(bind( (: $1 + $2 :), this_object()), 3, 4) == 7);
|
|
}
|