MCPcopy Create free account
hub / github.com/buke/quickjs-go / TestModuleBuilder_ErrorHandling

Function TestModuleBuilder_ErrorHandling

module_test.go:498–534  ·  view source on GitHub ↗

============================================================================= ERROR HANDLING TESTS =============================================================================

(t *testing.T)

Source from the content-addressed store, hash-verified

496// =============================================================================
497
498func TestModuleBuilder_ErrorHandling(t *testing.T) {
499 useStableOwnerHooksForLegacySubtests(t)
500
501 rt := NewRuntime()
502 defer rt.Close()
503 ctx := rt.NewContext()
504 defer ctx.Close()
505
506 t.Run("EmptyModule", func(t *testing.T) {
507 module := NewModuleBuilder("empty")
508 err := module.Build(ctx)
509 require.Error(t, err)
510 })
511
512 t.Run("EmptyModuleName", func(t *testing.T) {
513 module := NewModuleBuilder("")
514 err := module.Build(ctx)
515 require.Error(t, err)
516 require.Contains(t, err.Error(), "module name cannot be empty")
517 })
518
519 t.Run("EmptyExportName", func(t *testing.T) {
520 module := NewModuleBuilder("test").Export("", ctx.NewString("invalid"))
521 err := module.Build(ctx)
522 require.Error(t, err)
523 require.Contains(t, err.Error(), "export name cannot be empty")
524 })
525
526 t.Run("DuplicateExportNames", func(t *testing.T) {
527 module := NewModuleBuilder("test").
528 Export("value", ctx.NewString("first")).
529 Export("value", ctx.NewString("duplicate"))
530 err := module.Build(ctx)
531 require.Error(t, err)
532 require.Contains(t, err.Error(), "duplicate export name: value")
533 })
534}
535
536// =============================================================================
537// INTEGRATION TESTS

Callers

nothing calls this directly

Calls 10

CloseMethod · 0.95
NewContextMethod · 0.95
CloseMethod · 0.95
BuildMethod · 0.95
NewStringMethod · 0.95
NewRuntimeFunction · 0.85
NewModuleBuilderFunction · 0.85
ExportMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected