123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // Copyright 2015 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.
-
- package demangle
-
- import (
- "fmt"
- "testing"
- )
-
- func TestASTToString(t *testing.T) {
- var tests = []struct {
- input AST
- want string
- formatted string
- }{
- {
- &Qualified{Scope: &Name{Name: "s"}, Name: &Name{Name: "C"}},
- "s::C",
- `Qualified:
- Scope: s
- Name: C`,
- },
- {
- &Typed{Name: &Name{Name: "v"}, Type: &BuiltinType{"int"}},
- "int v",
- `Typed:
- Name: v
- Type: BuiltinType: int`,
- },
- }
-
- for i, test := range tests {
- if got := ASTToString(test.input); got != test.want {
- t.Errorf("ASTToString of test %d == %s, want %s", i, test.input, test.want)
- }
- if got := fmt.Sprintf("%#v", test.input); got != test.formatted {
- t.Errorf("Formatted test %d == %s, want %s", i, got, test.formatted)
- }
- }
- }
|