env_test.go RawHistoryFolder

1package cef
2
3import "testing"
4
5func TestExternalBeginFrameEnabledIsOnByDefault(t *testing.T) {
6	tests := []struct {
7		name  string
8		value string
9		want  bool
10	}{
11		{name: "unset", value: "", want: true},
12		{name: "blank", value: "  ", want: true},
13		{name: "1", value: "1", want: true},
14		{name: "true", value: "true", want: true},
15		{name: "yes", value: "yes", want: true},
16		{name: "on", value: "on", want: true},
17		{name: "TRUE", value: "TRUE", want: true},
18		{name: "  true  ", value: "  true  ", want: true},
19		{name: "random enables", value: "random", want: true},
20		{name: "0", value: "0", want: false},
21		{name: "false", value: "false", want: false},
22		{name: "no", value: "no", want: false},
23		{name: "off", value: "off", want: false},
24		{name: "OFF", value: "OFF", want: false},
25	}
26
27	for _, tt := range tests {
28		t.Run(tt.name, func(t *testing.T) {
29			t.Setenv(cefExternalBeginFrameEnvVar, tt.value)
30
31			if got := externalBeginFrameEnabled(); got != tt.want {
32				t.Fatalf("externalBeginFrameEnabled(%q) = %v, want %v", tt.value, got, tt.want)
33			}
34		})
35	}
36}
37
38func TestCEFWebAuthnUnsafeEnabledIsOptIn(t *testing.T) {
39	tests := []struct {
40		name  string
41		value string
42		want  bool
43	}{
44		{name: "1", value: "1", want: true},
45		{name: "true", value: "true", want: true},
46		{name: "yes", value: "yes", want: true},
47		{name: "on", value: "on", want: true},
48		{name: "TRUE", value: "TRUE", want: true},
49		{name: "  true  ", value: "  true  ", want: true},
50		{name: "", value: "", want: false},
51		{name: "false", value: "false", want: false},
52		{name: "0", value: "0", want: false},
53		{name: "no", value: "no", want: false},
54		{name: "off", value: "off", want: false},
55		{name: "random", value: "random", want: false},
56	}
57
58	for _, tt := range tests {
59		t.Run(tt.name, func(t *testing.T) {
60			t.Setenv(cefEnableWebAuthnUnsafeEnvVar, tt.value)
61
62			if got := cefWebAuthnUnsafeEnabled(); got != tt.want {
63				t.Fatalf("cefWebAuthnUnsafeEnabled(%q) = %v, want %v", tt.value, got, tt.want)
64			}
65		})
66	}
67}

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