Add more inputs

This commit is contained in:
Andrew Morris
2022-05-19 09:39:15 +10:00
parent 59f0fb530f
commit db8044e4d3
8 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
export default function() {
let res = foo(); // Should fail compilation: Binds uninitialized variable
let x = 3;
function foo() {
return x;
}
return res;
}

View File

@@ -0,0 +1,10 @@
export default function() {
let x = 0;
x++;
function foo() {
return x; // Should fail compilation due to capture on line 3
}
return foo();
}

View File

@@ -0,0 +1,14 @@
export default function() {
function foo() {
const x = 3;
return x + bar();
}
const x = 4;
function bar() {
return x;
}
return foo();
}

5
inputs/failing/const.ts Normal file
View File

@@ -0,0 +1,5 @@
export default function() {
const foo = 0;
foo++; // Should throw
return foo;
}

View File

@@ -0,0 +1,10 @@
export default function() {
let x = 0;
function foo() {
x++; // Should fail compilation: mutates captures variable
return x;
}
return foo();
}

View File

@@ -0,0 +1,5 @@
export default function() {
let result = foo;
let foo = 'oops';
return result; // should throw
}

14
inputs/passing/shadow.ts Normal file
View File

@@ -0,0 +1,14 @@
export default function() {
let sum = 0;
const x = 1;
{
const x = 2;
sum += x;
}
sum += x;
return sum; // 3 (not 4)
}

View File

@@ -0,0 +1,13 @@
export default function() {
const x = 3;
function foo() {
return bar();
}
function bar() {
return x;
}
return foo();
}