package tools import "testing" func TestNameFix(t *testing.T) { tests := []struct { input string expected string }{ {"Hello World", "hello_world"}, {"Hello_World", "hello_world"}, {"Hello__World", "hello_world"}, {"Hello-World", "hello_world"}, {"Hello,World", "hello_world"}, {"Hello,World.MD", "hello_world.md"}, {"Hello,World.MD", "hello_world.md"}, {"UPPER case", "upper_case"}, {"Mixed-Case,String", "mixed_case_string"}, {"Non-ASCII: éñçödéd", "non_ascii_dd"}, {"Multiple spaces", "multiple_spaces"}, {"Symbols: !@#$%^&*()", "symbols_"}, {"Getting- Started", "getting_started"}, {"Getting- ,Started", "getting_,started"}, } for _, test := range tests { result := NameFix(test.input) if result != test.expected { t.Errorf("NameFix(%q) = %q, expected %q", test.input, result, test.expected) } } }