diff options
Diffstat (limited to 'pkg/lang/vm/code/builder_test.go')
| -rw-r--r-- | pkg/lang/vm/code/builder_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/pkg/lang/vm/code/builder_test.go b/pkg/lang/vm/code/builder_test.go new file mode 100644 index 0000000..29f1974 --- /dev/null +++ b/pkg/lang/vm/code/builder_test.go @@ -0,0 +1,31 @@ +package code_test + +import ( + "jinx/pkg/lang/vm/code" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestMarker(t *testing.T) { + builder := code.NewBuilder() + + builder.AppendInt(123) + builder.AppendMarkerReference("hello world") + + builder.PutMarker("hello world") + builder.AppendInt(123) + + result, err := builder.Build() + assert.NoError(t, err) + + expectedBuilder := code.NewBuilder() + expectedBuilder.AppendInt(123) + expectedBuilder.AppendInt(16) + expectedBuilder.AppendInt(123) + + expected, err := expectedBuilder.Build() + assert.NoError(t, err) + + assert.Equal(t, expected.Code(), result.Code()) +} |
