detached f45c328

test: expand envBoolEnabled coverage with table-driven tests

Cover all truthy values (1, true, yes, on, TRUE, whitespace-padded)
and falsy values (empty, false, 0, no, off, random) with subtests.
commit
f45c328c14ea1e69f08d8cdf0bf9bfa716424997
author
brice · · 2026-04-05 06:15 UTC
parent
7147443
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +34 -0
A internal/infrastructure/cef/env_test.go +34 -0
@@ -0,0 +1,34 @@
1+package cef
2+
3+import "testing"
4+
5+func TestExternalBeginFrameEnabledIsOptIn(t *testing.T) {
6+ tests := []struct {
7+ name string
8+ value string
9+ want bool
10+ }{
11+ {name: "1", value: "1", want: true},
12+ {name: "true", value: "true", want: true},
13+ {name: "yes", value: "yes", want: true},
14+ {name: "on", value: "on", want: true},
15+ {name: "TRUE", value: "TRUE", want: true},
16+ {name: " true ", value: " true ", want: true},
17+ {name: "", value: "", want: false},
18+ {name: "false", value: "false", want: false},
19+ {name: "0", value: "0", want: false},
20+ {name: "no", value: "no", want: false},
21+ {name: "off", value: "off", want: false},
22+ {name: "random", value: "random", want: false},
23+ }
24+
25+ for _, tt := range tests {
26+ t.Run(tt.name, func(t *testing.T) {
27+ t.Setenv(cefExternalBeginFrameEnvVar, tt.value)
28+
29+ if got := envBoolEnabled(cefExternalBeginFrameEnvVar); got != tt.want {
30+ t.Fatalf("envBoolEnabled(%q) = %v, want %v", tt.value, got, tt.want)
31+ }
32+ })
33+ }
34+}
@@ -0,0 +1,34 @@
1+package cef
2+
3+import "testing"
4+
5+func TestExternalBeginFrameEnabledIsOptIn(t *testing.T) {
6+ tests := []struct {
7+ name string
8+ value string
9+ want bool
10+ }{
11+ {name: "1", value: "1", want: true},
12+ {name: "true", value: "true", want: true},
13+ {name: "yes", value: "yes", want: true},
14+ {name: "on", value: "on", want: true},
15+ {name: "TRUE", value: "TRUE", want: true},
16+ {name: " true ", value: " true ", want: true},
17+ {name: "", value: "", want: false},
18+ {name: "false", value: "false", want: false},
19+ {name: "0", value: "0", want: false},
20+ {name: "no", value: "no", want: false},
21+ {name: "off", value: "off", want: false},
22+ {name: "random", value: "random", want: false},
23+ }
24+
25+ for _, tt := range tests {
26+ t.Run(tt.name, func(t *testing.T) {
27+ t.Setenv(cefExternalBeginFrameEnvVar, tt.value)
28+
29+ if got := envBoolEnabled(cefExternalBeginFrameEnvVar); got != tt.want {
30+ t.Fatalf("envBoolEnabled(%q) = %v, want %v", tt.value, got, tt.want)
31+ }
32+ })
33+ }
34+}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close