From f0e3910c6ee51e47d8ec727170d7f7ffd30310c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Wed, 17 Apr 2024 10:48:25 +0300 Subject: [PATCH] Degojaify Locator.Tap --- browser/mapping.go | 8 +++++++- common/locator.go | 10 +++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/browser/mapping.go b/browser/mapping.go index b8b8b1944..4813f5230 100644 --- a/browser/mapping.go +++ b/browser/mapping.go @@ -82,7 +82,13 @@ func mapLocator(vu moduleVU, lo *common.Locator) mapping { "press": lo.Press, "type": lo.Type, "hover": lo.Hover, - "tap": lo.Tap, + "tap": func(opts goja.Value) error { + copts := common.NewFrameTapOptions(lo.DefaultTimeout()) + if err := copts.Parse(vu.Context(), opts); err != nil { + return fmt.Errorf("parsing tap options: %w", err) + } + return lo.Tap(copts) //nolint:wrapcheck + }, "dispatchEvent": func(typ string, eventInit, opts goja.Value) error { popts := common.NewFrameDispatchEventOptions(lo.DefaultTimeout()) if err := popts.Parse(vu.Context(), opts); err != nil { diff --git a/common/locator.go b/common/locator.go index a8aeed2f1..6f859cb67 100644 --- a/common/locator.go +++ b/common/locator.go @@ -561,15 +561,11 @@ func (l *Locator) hover(opts *FrameHoverOptions) error { } // Tap the element found that matches the locator's selector with strict mode on. -func (l *Locator) Tap(opts goja.Value) error { +func (l *Locator) Tap(opts *FrameTapOptions) error { l.log.Debugf("Locator:Tap", "fid:%s furl:%q sel:%q opts:%+v", l.frame.ID(), l.frame.URL(), l.selector, opts) - copts := NewFrameTapOptions(l.frame.defaultTimeout()) - if err := copts.Parse(l.ctx, opts); err != nil { - return fmt.Errorf("parsing tap options: %w", err) - } - copts.Strict = true - if err := l.frame.tap(l.selector, copts); err != nil { + opts.Strict = true + if err := l.frame.tap(l.selector, opts); err != nil { return fmt.Errorf("tapping on %q: %w", l.selector, err) }