blob: c878fa2cebe0a9d826bc2ff2887ddaf19f69f61c [file] [log] [blame]
/**
* @author John Wilson
* @version $Revision$
*/
class VariblePrecedence extends GroovyTestCase {
void testVariablePrecedence() {
assertScript( <<<-EOF
class VariableFoo {
x = 100
y = 93
c = {|x| assert x == 1; assert y == 93; }
static void main(args) {
vfoo = new VariableFoo()
vfoo.c.call(1)
z = 874;
1.times { assert vfoo.x == 100; assert z == 874; z = 39; }
assert z == 39;
vfoo.local();
}
void local() {
c.call(1);
z = 874;
1.times { assert x == 100; assert z == 874; z = 39; }
assert z == 39;
}
}
EOF );
}
/*
* CURRENTLY BROKEN. Variable scoping needs an overhaul to
* fix it.
*
void testVariablePrecedenceInScript() {
assertScript( <<<-EOF
c = { |x| assert x == 1; assert y == 93; }
x = 100;
y = 93;
c.call(1);
EOF);
}
*/
}