diff --git a/js/bundle.go b/js/bundle.go index 4d1b33ec30c..30dab0bf76d 100644 --- a/js/bundle.go +++ b/js/bundle.go @@ -223,7 +223,7 @@ func (b *Bundle) Instantiate() (bi *BundleInstance, instErr error) { panic("exported default is not a function") } - jsOptions := rt.Get("options") + jsOptions := exports.Get("options") var jsOptionsObj *goja.Object if jsOptions == nil || goja.IsNull(jsOptions) || goja.IsUndefined(jsOptions) { jsOptionsObj = rt.NewObject() diff --git a/js/runner_test.go b/js/runner_test.go index 1b90bc8f770..9da3bc11f86 100644 --- a/js/runner_test.go +++ b/js/runner_test.go @@ -178,19 +178,19 @@ func TestOptionsSettingToScript(t *testing.T) { func TestOptionsPropagationToScript(t *testing.T) { t.Parallel() data := ` - var options = { setupTimeout: "1s", myOption: "test" }; - exports.options = options; + exports.options = { setupTimeout: "1s", myOption: "test" }; exports.default = function() { - if (options.external) { + if (exports.options.external) { throw new Error("Unexpected property external!"); } - if (options.myOption != "test") { - throw new Error("expected myOption to remain unchanged but it was '" + options.myOption + "'"); + if (exports.options.myOption != "test") { + throw new Error("expected myOption to remain unchanged but it was '" + exports.options.myOption + "'"); } - if (options.setupTimeout != __ENV.expectedSetupTimeout) { - throw new Error("expected setupTimeout to be " + __ENV.expectedSetupTimeout + " but it was " + options.setupTimeout); + if (exports.options.setupTimeout != __ENV.expectedSetupTimeout) { + throw new Error("expected setupTimeout to be " + __ENV.expectedSetupTimeout + " but it was " + exports.options.setupTimeout); } - };` + }; + ` expScriptOptions := lib.Options{SetupTimeout: types.NullDurationFrom(1 * time.Second)} r1, err := getSimpleRunner("/script.js", data,