// Copyright 2020 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 main import "testing" func TestPackageName(t *testing.T) { var tests = []struct { fileName, pkgName string }{ {"", ""}, {"///", ""}, {"fmt", ""}, // No Go file, improper form. {"fmt/foo.go", "fmt"}, {"encoding/binary/foo.go", "binary"}, {"encoding/binary/////foo.go", "binary"}, } var tf templateFile for _, test := range tests { tf.Name = test.fileName td := templateData{ Files: []*templateFile{&tf}, } got := td.PackageName() if got != test.pkgName { t.Errorf("%s: got %s want %s", test.fileName, got, test.pkgName) } } }