Skip to content

Commit

Permalink
Uncomment test code
Browse files Browse the repository at this point in the history
  • Loading branch information
kitasuke committed Feb 16, 2019
1 parent eae17c4 commit 43051ef
Showing 1 changed file with 94 additions and 94 deletions.
188 changes: 94 additions & 94 deletions compiler/compiler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -862,100 +862,100 @@ func TestClosure(t *testing.T) {
code.Make(code.OpPop),
},
},
//{
// input: `
// fn(a) {
// fn(b) {
// fn(c) {
// a + b + c
// }
// }
// }
// `,
// expectedConstants: []interface{}{
// []code.Instructions{
// code.Make(code.OpGetFree, 0),
// code.Make(code.OpGetFree, 1),
// code.Make(code.OpAdd),
// code.Make(code.OpGetLocal, 0),
// code.Make(code.OpAdd),
// code.Make(code.OpReturnValue),
// },
// []code.Instructions{
// code.Make(code.OpGetFree, 0),
// code.Make(code.OpGetLocal, 0),
// code.Make(code.OpClosure, 0, 2),
// code.Make(code.OpReturnValue),
// },
// []code.Instructions{
// code.Make(code.OpGetLocal, 0),
// code.Make(code.OpClosure, 1, 1),
// code.Make(code.OpReturnValue),
// },
// },
// expectedInstructions: []code.Instructions{
// code.Make(code.OpClosure, 2, 0),
// code.Make(code.OpPop),
// },
//},
//{
// input: `
// let global = 55;
//
// fn() {
// let a = 66;
//
// fn() {
// let b = 77;
//
// fn() {
// let c = 88;
//
// global + a + b + c;
// }
// }
// }
// `,
// expectedConstants: []interface{}{
// 55,
// 66,
// 77,
// 88,
// []code.Instructions{
// code.Make(code.OpConstant, 3),
// code.Make(code.OpSetLocal, 0),
// code.Make(code.OpGetGlobal, 0),
// code.Make(code.OpGetFree, 0),
// code.Make(code.OpAdd),
// code.Make(code.OpGetFree, 1),
// code.Make(code.OpAdd),
// code.Make(code.OpGetLocal, 0),
// code.Make(code.OpAdd),
// code.Make(code.OpReturnValue),
// },
// []code.Instructions{
// code.Make(code.OpConstant, 2),
// code.Make(code.OpSetLocal, 0),
// code.Make(code.OpGetFree, 0),
// code.Make(code.OpGetLocal, 0),
// code.Make(code.OpClosure, 4, 2),
// code.Make(code.OpReturnValue),
// },
// []code.Instructions{
// code.Make(code.OpConstant, 1),
// code.Make(code.OpSetLocal, 0),
// code.Make(code.OpGetLocal, 0),
// code.Make(code.OpClosure, 5, 1),
// code.Make(code.OpReturnValue),
// },
// },
// expectedInstructions: []code.Instructions{
// code.Make(code.OpConstant, 0),
// code.Make(code.OpSetGlobal, 0),
// code.Make(code.OpClosure, 6, 0),
// code.Make(code.OpPop),
// },
//},
{
input: `
fn(a) {
fn(b) {
fn(c) {
a + b + c
}
}
}
`,
expectedConstants: []interface{}{
[]code.Instructions{
code.Make(code.OpGetFree, 0),
code.Make(code.OpGetFree, 1),
code.Make(code.OpAdd),
code.Make(code.OpGetLocal, 0),
code.Make(code.OpAdd),
code.Make(code.OpReturnValue),
},
[]code.Instructions{
code.Make(code.OpGetFree, 0),
code.Make(code.OpGetLocal, 0),
code.Make(code.OpClosure, 0, 2),
code.Make(code.OpReturnValue),
},
[]code.Instructions{
code.Make(code.OpGetLocal, 0),
code.Make(code.OpClosure, 1, 1),
code.Make(code.OpReturnValue),
},
},
expectedInstructions: []code.Instructions{
code.Make(code.OpClosure, 2, 0),
code.Make(code.OpPop),
},
},
{
input: `
let global = 55;
fn() {
let a = 66;
fn() {
let b = 77;
fn() {
let c = 88;
global + a + b + c;
}
}
}
`,
expectedConstants: []interface{}{
55,
66,
77,
88,
[]code.Instructions{
code.Make(code.OpConstant, 3),
code.Make(code.OpSetLocal, 0),
code.Make(code.OpGetGlobal, 0),
code.Make(code.OpGetFree, 0),
code.Make(code.OpAdd),
code.Make(code.OpGetFree, 1),
code.Make(code.OpAdd),
code.Make(code.OpGetLocal, 0),
code.Make(code.OpAdd),
code.Make(code.OpReturnValue),
},
[]code.Instructions{
code.Make(code.OpConstant, 2),
code.Make(code.OpSetLocal, 0),
code.Make(code.OpGetFree, 0),
code.Make(code.OpGetLocal, 0),
code.Make(code.OpClosure, 4, 2),
code.Make(code.OpReturnValue),
},
[]code.Instructions{
code.Make(code.OpConstant, 1),
code.Make(code.OpSetLocal, 0),
code.Make(code.OpGetLocal, 0),
code.Make(code.OpClosure, 5, 1),
code.Make(code.OpReturnValue),
},
},
expectedInstructions: []code.Instructions{
code.Make(code.OpConstant, 0),
code.Make(code.OpSetGlobal, 0),
code.Make(code.OpClosure, 6, 0),
code.Make(code.OpPop),
},
},
}

runCompilerTests(t, tests)
Expand Down

0 comments on commit 43051ef

Please # to comment.