LeOS-Genesis/external/badvpn/ncd/tests/alias.ncd

49 lines
792 B
Plaintext

process foo {
var("hello") x;
alias("x") y;
val_equal(y, "hello") a;
assert(a);
var("hello") x;
alias("x") y;
y->set("world");
val_equal(y, "world") a;
assert(a);
var("hello") x;
alias("x") y;
alias("y") z;
z->set("world");
val_equal(x, "world") a;
assert(a);
call("test", {"hello"}) c;
alias("c.x") x;
val_equal(x, "hello") a;
assert(a);
call("test", {"hello"}) c;
alias("c") x;
alias("x") y;
alias("y.x") z;
c.x->set("world");
val_equal(z, "world") a;
assert(a);
var("hello") x;
call("test2", {"_caller.x"}) c;
c.x->set("world");
val_equal(x, "world") a;
assert(a);
exit("0");
}
template test {
var(_arg0) x;
}
template test2 {
alias(_arg0) x;
}