summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/tools/go/ssa/ssautil/switch_test.go
diff options
context:
space:
mode:
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.go74
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)
- }
- }
- }
- }
-}