github.com/ismailbayram/bigpicture@v0.0.0-20231225173155-e4b21f5efcff/internal/browser/go_test.go (about) 1 package browser 2 3 import ( 4 "github.com/ismailbayram/bigpicture/internal/graph" 5 "github.com/stretchr/testify/assert" 6 "os" 7 "testing" 8 ) 9 10 func TestGoBrowser_GetModuleName(t *testing.T) { 11 os.Chdir("../..") 12 13 browser := &GoBrowser{ 14 ignoredPaths: []string{}, 15 tree: nil, 16 } 17 18 moduleName := browser.getModuleName() 19 assert.Equal(t, "github.com/ismailbayram/bigpicture", moduleName) 20 } 21 22 func TestGoBrowser_ParseFile(t *testing.T) { 23 browser := &GoBrowser{ 24 ignoredPaths: []string{}, 25 tree: nil, 26 moduleName: "github.com/ismailbayram/bigpicture", 27 } 28 parentNode := graph.NewNode("bigpicture", "./", graph.Dir, nil) 29 node := browser.parseFile("main.go", parentNode) 30 assert.NotNil(t, node) 31 assert.Equal(t, "main.go", node.Path) 32 assert.Equal(t, "main", node.PackageName) 33 assert.Equal(t, parentNode.PackageName, node.PackageName) 34 35 assert.Equal(t, "/internal/browser", node.ImportRaw[0]) 36 assert.Equal(t, "/internal/config", node.ImportRaw[1]) 37 assert.Equal(t, "/internal/graph", node.ImportRaw[2]) 38 assert.Equal(t, "/internal/server", node.ImportRaw[3]) 39 40 assert.Equal(t, 110, node.LineCount) 41 } 42 43 func TestGoBrowser_Browse(t *testing.T) { 44 browser := NewBrowser(LangGo, graph.NewTree("root"), []string{}, "/").(*GoBrowser) 45 46 browser.Browse(".") 47 assert.Equal(t, "github.com/ismailbayram/bigpicture", browser.moduleName) 48 assert.NotEqual(t, 1, len(browser.tree.Nodes)) 49 } 50 51 func TestGoBrowser_browse(t *testing.T) { 52 browser := NewBrowser( 53 LangGo, 54 graph.NewTree("root"), 55 []string{"internal/browser/pyproject", "internal/browser/javaproject"}, 56 "/", 57 ).(*GoBrowser) 58 59 browser.browse("./internal/browser", browser.tree.Root) 60 assert.Equal(t, 9, len(browser.tree.Nodes)) 61 62 browser = NewBrowser( 63 LangGo, 64 graph.NewTree("root"), 65 []string{}, 66 "/", 67 ).(*GoBrowser) 68 69 browser.browse("./internal/config", browser.tree.Root) 70 assert.Equal(t, 3, len(browser.tree.Nodes)) 71 assert.Equal(t, 94, browser.tree.Root.LineCount) 72 }