about summary refs log tree commit diff
path: root/pkg/lang/vm/code/builder_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/lang/vm/code/builder_test.go')
-rw-r--r--pkg/lang/vm/code/builder_test.go31
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())
+}