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

Commit 30fab3a

Browse files
committed
Convert testing.T to testify
I'm not a fan of using 3rd party libraries while we have testing.T. I'm not sure what value it brings. It's like using a pkg to skip writing `if err != nil`. It steals the expressiveness from code :( Resolves #148 (comment)
1 parent 3cb501b commit 30fab3a

File tree

1 file changed

+59
-25
lines changed

1 file changed

+59
-25
lines changed

chromium/browser_type_test.go

Lines changed: 59 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import (
2525
"testing"
2626

2727
"github.com/grafana/xk6-browser/common"
28+
"github.com/stretchr/testify/assert"
29+
"github.com/stretchr/testify/require"
2830
)
2931

3032
func TestBrowserTypeFlags(t *testing.T) {
@@ -35,36 +37,66 @@ func TestBrowserTypeFlags(t *testing.T) {
3537

3638
const devToolsFlag = "auto-open-devtools-for-tabs"
3739

38-
var bt BrowserType
40+
var (
41+
bt BrowserType
42+
lopts = &common.LaunchOptions{}
43+
)
3944

40-
flags := bt.flags(&common.LaunchOptions{
41-
Devtools: false,
42-
})
43-
flagi, ok := flags[devToolsFlag]
45+
flags := bt.flags(lopts)
46+
require.Contains(t, flags, devToolsFlag)
4447

45-
if !ok {
46-
t.Fatalf("%q is missing", devToolsFlag)
47-
}
48-
flag, ok := flagi.(bool)
49-
if !ok {
50-
t.Fatalf("%q should be a bool", devToolsFlag)
51-
}
52-
if flag {
53-
t.Fatalf("%q should be false when launch options Devtools is false, got %t", devToolsFlag, flag)
54-
}
48+
_, ok := flags[devToolsFlag].(bool)
49+
require.Truef(t, ok, "%q should be a bool", devToolsFlag)
50+
51+
lopts.Devtools = false
52+
assert.Falsef(t,
53+
flags[devToolsFlag].(bool),
54+
"%q should also be false if launch options Devtools is false", devToolsFlag,
55+
)
5556

5657
flags = bt.flags(&common.LaunchOptions{
5758
Devtools: true,
5859
})
59-
flag = flags[devToolsFlag].(bool)
60-
if !flag {
61-
t.Fatalf("%q should be true when launch options Devtools is true, got %t", devToolsFlag, flag)
62-
}
60+
assert.Truef(t,
61+
flags[devToolsFlag].(bool),
62+
"%q should be true when launch options Devtools is true", devToolsFlag,
63+
)
6364
})
6465

6566
t.Run("headless", func(t *testing.T) {
6667
t.Parallel()
6768

69+
const headlessFlag = "headless"
70+
71+
var (
72+
bt BrowserType
73+
lopts = &common.LaunchOptions{}
74+
)
75+
76+
flags := bt.flags(lopts)
77+
require.Contains(t, flags, headlessFlag)
78+
79+
_, ok := flags[headlessFlag].(bool)
80+
require.Truef(t, ok, "%q should be a bool", headlessFlag)
81+
82+
lopts.Headless = false
83+
assert.Falsef(t,
84+
flags[headlessFlag].(bool),
85+
"%q should also be false if launch options Headless is false", headlessFlag,
86+
)
87+
88+
flags = bt.flags(&common.LaunchOptions{
89+
Headless: true,
90+
})
91+
assert.Truef(t,
92+
flags[headlessFlag].(bool),
93+
"%q should be true when launch options Headless is true", headlessFlag,
94+
)
95+
})
96+
97+
t.Run("headless/enabled", func(t *testing.T) {
98+
t.Parallel()
99+
68100
var (
69101
before, after int
70102
bt BrowserType
@@ -77,9 +109,7 @@ func TestBrowserTypeFlags(t *testing.T) {
77109
lopts.Headless = true
78110
after = len(bt.flags(lopts))
79111

80-
if before == after {
81-
t.Errorf("enabling headless mode did not add flags")
82-
}
112+
assert.NotEqual(t, before, after, "enabling headless mode did not add flags")
83113
})
84114

85115
t.Run("darwin", func(t *testing.T) {
@@ -88,11 +118,15 @@ func TestBrowserTypeFlags(t *testing.T) {
88118
t.Skip()
89119
}
90120

121+
const zoomFlag = "enable-use-zoom-for-dsf"
122+
91123
var bt BrowserType
92124
f := bt.flags(&common.LaunchOptions{})
93125

94-
if _, ok := f["enable-use-zoom-for-dsf"]; !ok {
95-
t.Errorf("darwin should enable 'enable-use-zoom-for-dsf'")
96-
}
126+
assert.Containsf(t, f, zoomFlag, "darwin should disable %q", zoomFlag)
127+
128+
flag, ok := f[zoomFlag].(bool)
129+
require.Truef(t, ok, "%q should be a bool", zoomFlag)
130+
assert.False(t, flag, zoomFlag)
97131
})
98132
}

0 commit comments

Comments
 (0)