Monorepo for Tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

knotserver/git: regression test language percentage skips unknown files

authored by

tolik518 and committed by
Tangled
9fca98f6 8a1b1410

+57
+57
knotserver/git/language_test.go
··· 1 + package git 2 + 3 + import ( 4 + "context" 5 + "strings" 6 + "testing" 7 + 8 + "github.com/stretchr/testify/require" 9 + "github.com/stretchr/testify/suite" 10 + ) 11 + 12 + type LanguageSuite struct { 13 + suite.Suite 14 + *RepoSuite 15 + } 16 + 17 + func TestLanguageSuite(t *testing.T) { 18 + t.Parallel() 19 + suite.Run(t, new(LanguageSuite)) 20 + } 21 + 22 + func (s *LanguageSuite) SetupTest() { 23 + s.RepoSuite = NewRepoSuite(s.T()) 24 + } 25 + 26 + func (s *LanguageSuite) TearDownTest() { 27 + s.RepoSuite.cleanup() 28 + } 29 + 30 + func (s *LanguageSuite) TestAnalyzeLanguagesSkipsUnknownGodotMetadata() { 31 + s.init() 32 + 33 + gdscript := "extends CharacterBody3D\n\nfunc _ready():\n\tpass\n" 34 + s.commitFile("code/player.gd", gdscript, "Add GDScript") 35 + s.commitFile("code/player.gd.uid", "uid://b5gy7avoc3cs1\n", "Add Godot uid") 36 + s.commitFile( 37 + "assets/player.glb.import", 38 + "[remap]\n\nimporter=\"scene\"\n\n[params]\n"+strings.Repeat("animation/import=true\n", 512), 39 + "Add Godot import metadata", 40 + ) 41 + s.commitFile( 42 + "scenes/player.tscn", 43 + "[gd_scene format=4]\n\n[sub_resource type=\"ArrayMesh\"]\n"+strings.Repeat("vertex_data = PackedByteArray(\"AAAA\")\n", 512), 44 + "Add Godot scene", 45 + ) 46 + 47 + gr, err := Open(s.repo.path, "") 48 + require.NoError(s.T(), err) 49 + 50 + langs, err := gr.AnalyzeLanguages(context.Background()) 51 + require.NoError(s.T(), err) 52 + 53 + require.NotContains(s.T(), langs, "") 54 + require.Equal(s.T(), LangBreakdown{ 55 + "GDScript": int64(len(gdscript)), 56 + }, langs) 57 + }