From 7d1388a69eac7fe6c3f868f26632cb0e4cce20a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Wed, 6 Nov 2024 17:09:47 -0500 Subject: [PATCH] Refactor parseBrowserContextOptions to Sobek RT --- browser/browser_context_options_test.go | 4 ++-- browser/browser_mapping.go | 9 ++++----- browser/sync_browser_mapping.go | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/browser/browser_context_options_test.go b/browser/browser_context_options_test.go index af815f4cd..cc8fdf0e5 100644 --- a/browser/browser_context_options_test.go +++ b/browser/browser_context_options_test.go @@ -12,7 +12,7 @@ import ( func TestBrowserContextOptionsPermissions(t *testing.T) { vu := k6test.NewVU(t) - opts, err := parseBrowserContextOptions(vu.Context(), vu.ToSobekValue((struct { + opts, err := parseBrowserContextOptions(vu.Runtime(), vu.ToSobekValue((struct { Permissions []any `js:"permissions"` }{ Permissions: []any{"camera", "microphone"}, @@ -25,7 +25,7 @@ func TestBrowserContextOptionsPermissions(t *testing.T) { func TestBrowserContextSetGeolocation(t *testing.T) { vu := k6test.NewVU(t) - opts, err := parseBrowserContextOptions(vu.Context(), vu.ToSobekValue((struct { + opts, err := parseBrowserContextOptions(vu.Runtime(), vu.ToSobekValue((struct { GeoLocation *common.Geolocation `js:"geolocation"` }{ GeoLocation: &common.Geolocation{ diff --git a/browser/browser_mapping.go b/browser/browser_mapping.go index 77615836e..00a020b51 100644 --- a/browser/browser_mapping.go +++ b/browser/browser_mapping.go @@ -1,7 +1,6 @@ package browser import ( - "context" "fmt" "github.com/grafana/sobek" @@ -37,7 +36,7 @@ func mapBrowser(vu moduleVU) mapping { //nolint:funlen,cyclop,gocognit return b.IsConnected(), nil }, "newContext": func(opts sobek.Value) (*sobek.Promise, error) { - popts, err := parseBrowserContextOptions(vu.Context(), opts) + popts, err := parseBrowserContextOptions(vu.Runtime(), opts) if err != nil { return nil, fmt.Errorf("parsing browser.newContext options: %w", err) } @@ -72,7 +71,7 @@ func mapBrowser(vu moduleVU) mapping { //nolint:funlen,cyclop,gocognit return b.Version(), nil }, "newPage": func(opts sobek.Value) (*sobek.Promise, error) { - popts, err := parseBrowserContextOptions(vu.Context(), opts) + popts, err := parseBrowserContextOptions(vu.Runtime(), opts) if err != nil { return nil, fmt.Errorf("parsing browser.newPage options: %w", err) } @@ -110,12 +109,12 @@ func initBrowserContext(bctx *common.BrowserContext, testRunID string) error { } // parseBrowserContextOptions parses the [common.BrowserContext] options from a Sobek value. -func parseBrowserContextOptions(ctx context.Context, opts sobek.Value) (*common.BrowserContextOptions, error) { +func parseBrowserContextOptions(rt *sobek.Runtime, opts sobek.Value) (*common.BrowserContextOptions, error) { if !sobekValueExists(opts) { return nil, nil //nolint:nilnil } b := common.NewBrowserContextOptions() - if err := k6ext.Runtime(ctx).ExportTo(opts, &b); err != nil { + if err := rt.ExportTo(opts, &b); err != nil { return nil, fmt.Errorf("parsing browser context options: %w", err) } return b, nil diff --git a/browser/sync_browser_mapping.go b/browser/sync_browser_mapping.go index 289aaae6a..d9c8fd1e2 100644 --- a/browser/sync_browser_mapping.go +++ b/browser/sync_browser_mapping.go @@ -32,7 +32,7 @@ func syncMapBrowser(vu moduleVU) mapping { //nolint:funlen,cyclop return b.IsConnected(), nil }, "newContext": func(opts sobek.Value) (*sobek.Object, error) { - popts, err := parseBrowserContextOptions(vu.Context(), opts) + popts, err := parseBrowserContextOptions(vu.Runtime(), opts) if err != nil { return nil, fmt.Errorf("parsing browser.newContext options: %w", err) } @@ -69,7 +69,7 @@ func syncMapBrowser(vu moduleVU) mapping { //nolint:funlen,cyclop return b.Version(), nil }, "newPage": func(opts sobek.Value) (mapping, error) { - popts, err := parseBrowserContextOptions(vu.Context(), opts) + popts, err := parseBrowserContextOptions(vu.Runtime(), opts) if err != nil { return nil, fmt.Errorf("parsing browser.newPage options: %w", err) }