diff options
Diffstat (limited to 'vendor/golang.org/x/tools/go/ssa/ssautil/switch_test.go')
-rw-r--r-- | vendor/golang.org/x/tools/go/ssa/ssautil/switch_test.go | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/vendor/golang.org/x/tools/go/ssa/ssautil/switch_test.go b/vendor/golang.org/x/tools/go/ssa/ssautil/switch_test.go deleted file mode 100644 index a47dbef..0000000 --- a/vendor/golang.org/x/tools/go/ssa/ssautil/switch_test.go +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// No testdata on Android. - -// +build !android - -package ssautil_test - -import ( - "go/parser" - "strings" - "testing" - - "golang.org/x/tools/go/loader" - "golang.org/x/tools/go/ssa" - "golang.org/x/tools/go/ssa/ssautil" -) - -func TestSwitches(t *testing.T) { - conf := loader.Config{ParserMode: parser.ParseComments} - f, err := conf.ParseFile("testdata/switches.go", nil) - if err != nil { - t.Error(err) - return - } - - conf.CreateFromFiles("main", f) - iprog, err := conf.Load() - if err != nil { - t.Error(err) - return - } - - prog := ssautil.CreateProgram(iprog, 0) - mainPkg := prog.Package(iprog.Created[0].Pkg) - mainPkg.Build() - - for _, mem := range mainPkg.Members { - if fn, ok := mem.(*ssa.Function); ok { - if fn.Synthetic != "" { - continue // e.g. init() - } - // Each (multi-line) "switch" comment within - // this function must match the printed form - // of a ConstSwitch. - var wantSwitches []string - for _, c := range f.Comments { - if fn.Syntax().Pos() <= c.Pos() && c.Pos() < fn.Syntax().End() { - text := strings.TrimSpace(c.Text()) - if strings.HasPrefix(text, "switch ") { - wantSwitches = append(wantSwitches, text) - } - } - } - - switches := ssautil.Switches(fn) - if len(switches) != len(wantSwitches) { - t.Errorf("in %s, found %d switches, want %d", fn, len(switches), len(wantSwitches)) - } - for i, sw := range switches { - got := sw.String() - if i >= len(wantSwitches) { - continue - } - want := wantSwitches[i] - if got != want { - t.Errorf("in %s, found switch %d: got <<%s>>, want <<%s>>", fn, i, got, want) - } - } - } - } -} |