1package cef
2
3import (
4 "testing"
5
6 cef2gtk "github.com/bnema/purego-cef2gtk"
7)
8
9func TestClickDiagnosticNamesAreStable(t *testing.T) {
10 phases := map[cef2gtk.ClickDiagnosticPhase]string{
11 cef2gtk.ClickDiagnosticPressed: "pressed",
12 cef2gtk.ClickDiagnosticReleased: "released",
13 cef2gtk.ClickDiagnosticCancelled: "canceled",
14 cef2gtk.ClickDiagnosticForwarded: "forwarded",
15 cef2gtk.ClickDiagnosticConsumed: "consumed",
16 cef2gtk.ClickDiagnosticDropped: "dropped",
17 }
18 for value, want := range phases {
19 if got := clickDiagnosticPhaseName(value); got != want {
20 t.Fatalf("phase %d: got %q, want %q", value, got, want)
21 }
22 }
23 if got := clickDiagnosticPhaseName(99); got != "unknown(99)" {
24 t.Fatalf("unknown phase: got %q", got)
25 }
26
27 reasons := map[cef2gtk.ClickDropReason]string{
28 cef2gtk.ClickDropReasonNone: "none",
29 cef2gtk.ClickDropReasonMissingHost: "missing_host",
30 cef2gtk.ClickDropReasonDetached: "detached",
31 cef2gtk.ClickDropReasonMissingInputState: "missing_input_state",
32 }
33 for value, want := range reasons {
34 if got := clickDropReasonName(value); got != want {
35 t.Fatalf("reason %d: got %q, want %q", value, got, want)
36 }
37 }
38 if got := clickDropReasonName(99); got != "unknown(99)" {
39 t.Fatalf("unknown reason: got %q", got)
40 }
41}
42
43func TestClickButtonNamesArePrivacySafeAndBounded(t *testing.T) {
44 for button, want := range map[uint]string{0: "other", 1: "primary", 2: "middle", 3: "secondary", 8: "other"} {
45 if got := clickButtonName(button); got != want {
46 t.Fatalf("button %d: got %q, want %q", button, got, want)
47 }
48 }
49}