assert stack is clean after test
This commit is contained in:
@@ -48,6 +48,11 @@ func runVmTests(t *testing.T, tests []vmTestCase) {
|
||||
t.Fatalf("vm error: %s", err)
|
||||
}
|
||||
|
||||
if vm.sp != 0 {
|
||||
t.Log(tt.input)
|
||||
t.Fatal("vm stack pointer non-zero")
|
||||
}
|
||||
|
||||
stackElem := vm.LastPoppedStackElem()
|
||||
|
||||
testExpectedObject(t, tt.expected, stackElem)
|
||||
@@ -437,13 +442,13 @@ func TestFirstClassFunctions(t *testing.T) {
|
||||
|
||||
func TestCallingFunctionsWithBindings(t *testing.T) {
|
||||
tests := []vmTestCase{
|
||||
{
|
||||
input: `
|
||||
let one = fn() { let one = 1; one };
|
||||
one();
|
||||
`,
|
||||
expected: 1,
|
||||
},
|
||||
//{
|
||||
// input: `
|
||||
//let one = fn() { let one = 1; one };
|
||||
//one();
|
||||
//`,
|
||||
// expected: 1,
|
||||
//},
|
||||
{
|
||||
input: `
|
||||
let oneAndTwo = fn() { let one = 1; let two = 2; one + two; };
|
||||
@@ -855,5 +860,10 @@ func TestExamples(t *testing.T) {
|
||||
t.Log(input)
|
||||
t.Fatalf("vm error: %s", err)
|
||||
}
|
||||
|
||||
if vm.sp != 0 {
|
||||
t.Log(input)
|
||||
t.Fatal("vm stack pointer non-zero")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user