diff --git a/gopls/internal/regtest/misc/hover_test.go b/gopls/internal/regtest/misc/hover_test.go
index 7a361f9..79e60e2 100644
--- a/gopls/internal/regtest/misc/hover_test.go
+++ b/gopls/internal/regtest/misc/hover_test.go
@@ -9,6 +9,7 @@
 	"testing"
 
 	. "golang.org/x/tools/internal/lsp/regtest"
+	"golang.org/x/tools/internal/testenv"
 )
 
 func TestHoverUnexported(t *testing.T) {
@@ -56,3 +57,34 @@
 		}
 	})
 }
+
+func TestHoverIntLiteral(t *testing.T) {
+	testenv.NeedsGo1Point(t, 13)
+	const source = `
+-- main.go --
+package main
+
+var (
+	bigBin = 0b1001001
+)
+
+var hex = 0xe34e
+
+func main() {
+}
+`
+	Run(t, source, func(t *testing.T, env *Env) {
+		env.OpenFile("main.go")
+		hexExpected := "58190"
+		got, _ := env.Hover("main.go", env.RegexpSearch("main.go", "hex"))
+		if got != nil && !strings.Contains(got.Value, hexExpected) {
+			t.Errorf("Hover: missing expected field '%s'. Got:\n%q", hexExpected, got.Value)
+		}
+
+		binExpected := "73"
+		got, _ = env.Hover("main.go", env.RegexpSearch("main.go", "bigBin"))
+		if got != nil && !strings.Contains(got.Value, binExpected) {
+			t.Errorf("Hover: missing expected field '%s'. Got:\n%q", binExpected, got.Value)
+		}
+	})
+}
