This commit is contained in:
2026-01-28 12:43:17 -05:00
parent f9d3753806
commit 604178341d
10 changed files with 188 additions and 172 deletions

View File

@@ -19,7 +19,7 @@ func (t TestArgs) Validate() error {
}
func TestAsyncBuiltin(t *testing.T) {
RegisterAsyncBuiltin[TestArgs, string]("testAsync", func(_ context.Context, args TestArgs) (string, error) {
RegisterAsyncBuiltin("testAsync", func(_ context.Context, args TestArgs) (string, error) {
return "result: " + args.Field1, nil
})
@@ -28,11 +28,11 @@ func TestAsyncBuiltin(t *testing.T) {
registryMutex.RUnlock()
require.True(t, ok, "testAsync should be registered")
assert.Contains(t, builtin.Definition, "Promise<string>", "definition should include Promise<string>")
assert.Contains(t, builtin.Definition(), "Promise<string>", "definition should include Promise<string>")
}
func TestAsyncBuiltinResolution(t *testing.T) {
RegisterAsyncBuiltin[TestArgs, string]("resolveTest", func(_ context.Context, args TestArgs) (string, error) {
RegisterAsyncBuiltin("resolveTest", func(_ context.Context, args TestArgs) (string, error) {
return "test-result", nil
})
@@ -43,15 +43,15 @@ func TestAsyncBuiltinResolution(t *testing.T) {
}()
vm.SetCanBlock(true)
RegisterBuiltins(vm)
RegisterBuiltins(context.Background(), vm)
result, err := vm.Eval(`resolveTest({field1: "hello"})`, quickjs.EvalGlobal)
result, err := vm.Eval(`resolveTest("hello")`, quickjs.EvalGlobal)
require.NoError(t, err)
assert.NotNil(t, result)
}
func TestAsyncBuiltinRejection(t *testing.T) {
RegisterAsyncBuiltin[TestArgs, string]("rejectTest", func(_ context.Context, args TestArgs) (string, error) {
RegisterAsyncBuiltin("rejectTest", func(_ context.Context, args TestArgs) (string, error) {
return "", assert.AnError
})
@@ -62,7 +62,7 @@ func TestAsyncBuiltinRejection(t *testing.T) {
}()
vm.SetCanBlock(true)
RegisterBuiltins(vm)
RegisterBuiltins(context.Background(), vm)
result, err := vm.Eval(`rejectTest({field1: "hello"})`, quickjs.EvalGlobal)
require.NoError(t, err)
@@ -70,7 +70,7 @@ func TestAsyncBuiltinRejection(t *testing.T) {
}
func TestNonPromise(t *testing.T) {
RegisterBuiltin[TestArgs, string]("nonPromiseTest", func(_ context.Context, args TestArgs) (string, error) {
RegisterBuiltin("nonPromiseTest", func(_ context.Context, args TestArgs) (string, error) {
return "sync-result", nil
})
@@ -81,7 +81,7 @@ func TestNonPromise(t *testing.T) {
}()
vm.SetCanBlock(true)
RegisterBuiltins(vm)
RegisterBuiltins(context.Background(), vm)
result, err := vm.Eval(`nonPromiseTest({field1: "hello"})`, quickjs.EvalGlobal)
require.NoError(t, err)