fork of https://github.com/sourcegraph/zoekt
1package index
2
3import (
4 "testing"
5)
6
7func TestDetermineFileCategory(t *testing.T) {
8 tests := []struct {
9 name string
10 filename string
11 content []byte
12 want FileCategory
13 }{
14 {
15 name: "test file",
16 filename: "foo_test.go",
17 content: []byte("package foo"),
18 want: FileCategoryTest,
19 },
20 {
21 name: "vendor file",
22 filename: "vendor/foo.go",
23 content: []byte("package foo"),
24 want: FileCategoryVendored,
25 },
26 {
27 name: "generated file",
28 filename: "foo.go",
29 content: []byte("// Code generated by protoc-gen-go. DO NOT EDIT.\n" +
30 "... some generated code ..."),
31 want: FileCategoryGenerated,
32 },
33 {
34 name: "config file",
35 filename: "package.json",
36 content: []byte("{}"),
37 want: FileCategoryConfig,
38 },
39 {
40 name: "dot file",
41 filename: ".gitignore",
42 content: []byte("*.o"),
43 want: FileCategoryDotFile,
44 },
45 {
46 name: "documentation file",
47 filename: "README.md",
48 content: []byte("# Documentation"),
49 want: FileCategoryDocumentation,
50 },
51 {
52 name: "default file",
53 filename: "main.go",
54 content: []byte("package main"),
55 want: FileCategoryDefault,
56 },
57 }
58
59 for _, tt := range tests {
60 t.Run(tt.name, func(t *testing.T) {
61 doc := &Document{
62 Name: tt.filename,
63 Content: tt.content,
64 }
65
66 DetermineFileCategory(doc)
67 if doc.Category != tt.want {
68 t.Errorf("DetermineFileCategory() = %v, want %v", doc.Name, tt.want)
69 }
70 })
71 }
72}