]> Cypherpunks repositories - gostls13.git/commitdiff
test: expand issue7863 test
authorRuss Cox <rsc@golang.org>
Wed, 28 May 2014 04:53:39 +0000 (21:53 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 28 May 2014 04:53:39 +0000 (21:53 -0700)
This was sitting in my client but I forgot hg add.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/101800045

test/fixedbugs/issue7863.go

index 796db6a98f80dff8cbf2a2234043a31b41919ebd..97f2255350365e68950142e620912d68051af105 100644 (file)
@@ -6,12 +6,55 @@
 
 package main
 
-import "time"
+import (
+       "fmt"
+)
+
+type Foo int64
+
+func (f *Foo) F() int64 {
+       return int64(*f)
+}
+
+type Bar int64
+
+func (b Bar) F() int64 {
+       return int64(b)
+}
+
+type Baz int32
+
+func (b Baz) F() int64 {
+       return int64(b)
+}
 
 func main() {
-       now := time.Now()
-       f := now.Unix
-       if now.Unix() != f() {
-               println("BUG: ", now.Unix(), "!=", f())
+       foo := Foo(123)
+       f := foo.F
+       if foo.F() != f() {
+               bug()
+               fmt.Println("foo.F", foo.F(), f())
+       }
+       bar := Bar(123)
+       f = bar.F
+       if bar.F() != f() {
+               bug()
+               fmt.Println("bar.F", bar.F(), f()) // duh!
+       }
+
+       baz := Baz(123)
+       f = baz.F
+       if baz.F() != f() {
+               bug()
+               fmt.Println("baz.F", baz.F(), f())
+       }
+}
+
+var bugged bool
+
+func bug() {
+       if !bugged {
+               bugged = true
+               fmt.Println("BUG")
        }
 }