Everything is a closure
Some checks failed
Build / build (push) Failing after 1m56s
Test / build (push) Failing after 2m33s

This commit is contained in:
Chuck Smith
2024-03-13 17:08:17 -04:00
parent e373e9f68a
commit 78b560e457
7 changed files with 132 additions and 81 deletions

View File

@@ -11,6 +11,7 @@ func TestMake(t *testing.T) {
{OpConstant, []int{65534}, []byte{byte(OpConstant), 255, 254}},
{OpAdd, []int{}, []byte{byte(OpAdd)}},
{OpGetLocal, []int{255}, []byte{byte(OpGetLocal), 255}},
{OpClosure, []int{65534, 255}, []byte{byte(OpClosure), 255, 254, 255}},
}
for _, tt := range test {
@@ -34,12 +35,14 @@ func TestInstructions(t *testing.T) {
Make(OpGetLocal, 1),
Make(OpConstant, 2),
Make(OpConstant, 65535),
Make(OpClosure, 65535, 255),
}
expected := `0000 OpAdd
0001 OpGetLocal 1
0003 OpConstant 2
0006 OpConstant 65535
0009 OpClosure 65535 255
`
concatted := Instructions{}
@@ -60,6 +63,7 @@ func TestReadOperands(t *testing.T) {
}{
{OpConstant, []int{65535}, 2},
{OpGetLocal, []int{255}, 1},
{OpClosure, []int{65535, 255}, 3},
}
for _, tt := range tests {