Add closure tests
This commit is contained in:
parent
b3cdc2af4f
commit
279ccb5432
@ -110,5 +110,47 @@ int main() {
|
||||
true
|
||||
);
|
||||
|
||||
_TEST_ASSERT(
|
||||
_TEST_NO_EXCEPTION(get<int>(execute(R"(
|
||||
int x = 1;
|
||||
int a() {
|
||||
return x;
|
||||
}
|
||||
int b() {
|
||||
int x = 2;
|
||||
return a();
|
||||
}
|
||||
b();
|
||||
)")) == 1),
|
||||
"Closure capture",
|
||||
true
|
||||
);
|
||||
|
||||
_TEST_ASSERT(
|
||||
_TEST_NO_EXCEPTION(get<int>(execute(R"(
|
||||
int x = 1;
|
||||
int a() {
|
||||
return x;
|
||||
}
|
||||
x = 2;
|
||||
a();
|
||||
)")) == 2),
|
||||
"Closure mutation externe",
|
||||
true
|
||||
);
|
||||
|
||||
_TEST_ASSERT(
|
||||
_TEST_NO_EXCEPTION(get<int>(execute(R"(
|
||||
int x = 1;
|
||||
void a() {
|
||||
x = 2;
|
||||
}
|
||||
a();
|
||||
x;
|
||||
)")) == 2),
|
||||
"Closure mutation interne",
|
||||
true
|
||||
);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user