whatcanGOwrong
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
qt "github.com/frankban/quicktest"
|
||||
)
|
||||
|
||||
func TestIdentifier(t *testing.T) {
|
||||
testcases := []struct {
|
||||
in, out string
|
||||
}{
|
||||
{".rodata", "Rodata"},
|
||||
{"_foo_bar_", "FooBar"},
|
||||
{"ipv6_test", "Ipv6Test"},
|
||||
{"FOO_BAR", "FOO_BAR"},
|
||||
{"FOO_", "FOO_"},
|
||||
{"FOO__BAR", "FOO__BAR"},
|
||||
{"FOO___BAR", "FOO___BAR"},
|
||||
{"_FOO__BAR", "FOO__BAR"},
|
||||
{"__FOO__BAR", "FOO__BAR"},
|
||||
}
|
||||
|
||||
for _, tc := range testcases {
|
||||
have := Identifier(tc.in)
|
||||
if have != tc.out {
|
||||
t.Errorf("Expected %q as output of %q, got %q", tc.out, tc.in, have)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestGoTypeName(t *testing.T) {
|
||||
type foo struct{}
|
||||
type bar[T any] struct{}
|
||||
qt.Assert(t, GoTypeName(foo{}), qt.Equals, "foo")
|
||||
qt.Assert(t, GoTypeName(new(foo)), qt.Equals, "foo")
|
||||
qt.Assert(t, GoTypeName(new(*foo)), qt.Equals, "foo")
|
||||
qt.Assert(t, GoTypeName(bar[int]{}), qt.Equals, "bar[int]")
|
||||
// Broken in the stdlib, see GoTypeName for details.
|
||||
// qt.Assert(t, GoTypeName(bar[qt.C]{}), qt.Equals, "bar[quicktest.C]")
|
||||
}
|
||||
Reference in New Issue
Block a user