Skip to content
This repository was archived by the owner on Jan 30, 2025. It is now read-only.

Commit b8e9be9

Browse files
committed
Refactor timeout to time.Duration
We should be working with time.Duration throughout the code base instead of trying to work out what int64 means. This change aligns the default timeout to this aim.
1 parent de293f2 commit b8e9be9

File tree

6 files changed

+21
-21
lines changed

6 files changed

+21
-21
lines changed

common/browser_context.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ func (b *BrowserContext) SetDefaultNavigationTimeout(timeout int64) {
272272
func (b *BrowserContext) SetDefaultTimeout(timeout int64) {
273273
b.logger.Debugf("BrowserContext:SetDefaultTimeout", "bctxid:%v timeout:%d", b.id, timeout)
274274

275-
b.timeoutSettings.setDefaultTimeout(timeout)
275+
b.timeoutSettings.setDefaultTimeout(time.Duration(timeout) * time.Millisecond)
276276
}
277277

278278
// SetExtraHTTPHeaders is not implemented.

common/element_handle.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ func (h *ElementHandle) dblClick(p *Position, opts *MouseClickOptions) error {
249249
}
250250

251251
func (h *ElementHandle) defaultTimeout() time.Duration {
252-
return time.Duration(h.frame.manager.timeoutSettings.timeout()) * time.Millisecond
252+
return h.frame.manager.timeoutSettings.timeout()
253253
}
254254

255255
func (h *ElementHandle) dispatchEvent(_ context.Context, typ string, eventInit goja.Value) (any, error) {

common/frame.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ func (f *Frame) detach() {
198198
}
199199

200200
func (f *Frame) defaultTimeout() time.Duration {
201-
return time.Duration(f.manager.timeoutSettings.timeout()) * time.Millisecond
201+
return f.manager.timeoutSettings.timeout()
202202
}
203203

204204
func (f *Frame) document() (*ElementHandle, error) {
@@ -1738,7 +1738,7 @@ func (f *Frame) WaitForNavigation(opts goja.Value) (api.Response, error) {
17381738
"fid:%s furl:%s", f.ID(), f.URL())
17391739

17401740
parsedOpts := NewFrameWaitForNavigationOptions(
1741-
time.Duration(f.manager.timeoutSettings.timeout()) * time.Millisecond)
1741+
f.manager.timeoutSettings.timeout())
17421742
if err := parsedOpts.Parse(f.ctx, opts); err != nil {
17431743
k6ext.Panic(f.ctx, "parsing wait for navigation options: %w", err)
17441744
}

common/page.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ func (p *Page) closeWorker(sessionID target.SessionID) {
223223
}
224224

225225
func (p *Page) defaultTimeout() time.Duration {
226-
return time.Duration(p.timeoutSettings.timeout()) * time.Millisecond
226+
return p.timeoutSettings.timeout()
227227
}
228228

229229
func (p *Page) didClose() {
@@ -975,7 +975,7 @@ func (p *Page) SetDefaultNavigationTimeout(timeout int64) {
975975
func (p *Page) SetDefaultTimeout(timeout int64) {
976976
p.logger.Debugf("Page:SetDefaultTimeout", "sid:%v timeout:%d", p.sessionID(), timeout)
977977

978-
p.timeoutSettings.setDefaultTimeout(timeout)
978+
p.timeoutSettings.setDefaultTimeout(time.Duration(timeout) * time.Millisecond)
979979
}
980980

981981
// SetExtraHTTPHeaders sets default HTTP headers for page and whole frame hierarchy.

common/timeout.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import "time"
55
// TimeoutSettings holds information on timeout settings.
66
type TimeoutSettings struct {
77
parent *TimeoutSettings
8-
defaultTimeout *int64
8+
defaultTimeout *time.Duration
99
defaultNavigationTimeout *time.Duration
1010
}
1111

@@ -19,7 +19,7 @@ func NewTimeoutSettings(parent *TimeoutSettings) *TimeoutSettings {
1919
return t
2020
}
2121

22-
func (t *TimeoutSettings) setDefaultTimeout(timeout int64) {
22+
func (t *TimeoutSettings) setDefaultTimeout(timeout time.Duration) {
2323
t.defaultTimeout = &timeout
2424
}
2525

@@ -32,20 +32,20 @@ func (t *TimeoutSettings) navigationTimeout() time.Duration {
3232
return *t.defaultNavigationTimeout
3333
}
3434
if t.defaultTimeout != nil {
35-
return time.Duration(*t.defaultTimeout * time.Hour.Milliseconds())
35+
return *t.defaultTimeout
3636
}
3737
if t.parent != nil {
3838
return t.parent.navigationTimeout()
3939
}
4040
return DefaultTimeout
4141
}
4242

43-
func (t *TimeoutSettings) timeout() int64 {
43+
func (t *TimeoutSettings) timeout() time.Duration {
4444
if t.defaultTimeout != nil {
4545
return *t.defaultTimeout
4646
}
4747
if t.parent != nil {
4848
return t.parent.timeout()
4949
}
50-
return int64(DefaultTimeout.Milliseconds())
50+
return DefaultTimeout
5151
}

common/timeout_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ func testTimeoutSettingsSetDefaultTimeout(t *testing.T) {
6363
t.Parallel()
6464

6565
ts := NewTimeoutSettings(nil)
66-
ts.setDefaultTimeout(100)
67-
assert.Equal(t, int64(100), *ts.defaultTimeout)
66+
ts.setDefaultTimeout(time.Duration(100) * time.Millisecond)
67+
assert.Equal(t, int64(100), ts.defaultTimeout.Milliseconds())
6868
}
6969

7070
func testTimeoutSettingsSetDefaultNavigationTimeout(t *testing.T) {
@@ -112,11 +112,11 @@ func testTimeoutSettingsTimeout(t *testing.T) {
112112
ts := NewTimeoutSettings(nil)
113113

114114
// Assert default timeout value is used
115-
assert.Equal(t, int64(DefaultTimeout.Milliseconds()), ts.timeout())
115+
assert.Equal(t, DefaultTimeout, ts.timeout())
116116

117117
// Assert custom default timeout is used
118-
ts.setDefaultTimeout(100)
119-
assert.Equal(t, int64(100), ts.timeout())
118+
ts.setDefaultTimeout(time.Duration(100) * time.Millisecond)
119+
assert.Equal(t, int64(100), ts.timeout().Milliseconds())
120120
}
121121

122122
func testTimeoutSettingsTimeoutWithParent(t *testing.T) {
@@ -126,13 +126,13 @@ func testTimeoutSettingsTimeoutWithParent(t *testing.T) {
126126
tsWithParent := NewTimeoutSettings(ts)
127127

128128
// Assert default timeout value is used
129-
assert.Equal(t, int64(DefaultTimeout.Milliseconds()), tsWithParent.timeout())
129+
assert.Equal(t, DefaultTimeout, tsWithParent.timeout())
130130

131131
// Assert custom default timeout from parent is used
132-
ts.setDefaultTimeout(1000)
133-
assert.Equal(t, int64(1000), tsWithParent.timeout())
132+
ts.setDefaultTimeout(time.Duration(1000) * time.Millisecond)
133+
assert.Equal(t, int64(1000), tsWithParent.timeout().Milliseconds())
134134

135135
// Assert custom default timeout is used (over parent)
136-
tsWithParent.setDefaultTimeout(100)
137-
assert.Equal(t, int64(100), tsWithParent.timeout())
136+
tsWithParent.setDefaultTimeout(time.Duration(100) * time.Millisecond)
137+
assert.Equal(t, int64(100), tsWithParent.timeout().Milliseconds())
138138
}

0 commit comments

Comments
 (0)