fix(python): impove package name normalization (#9290)

This commit is contained in:
DmitriyLewen
2025-08-01 14:04:31 +06:00
committed by GitHub
parent 4d4a2444b6
commit 1473e88b74
9 changed files with 176 additions and 42 deletions

View File

@@ -10,30 +10,45 @@ import (
func Test_NormalizePkgName(t *testing.T) {
tests := []struct {
pkgName string
expected string
pkgName string
lowerCase bool
expected string
}{
{
pkgName: "SecretStorage",
expected: "secretstorage",
pkgName: "SecretStorage",
lowerCase: true,
expected: "secretstorage",
},
{
pkgName: "pywin32-ctypes",
expected: "pywin32-ctypes",
pkgName: "SecretStorage",
lowerCase: false,
expected: "SecretStorage",
},
{
pkgName: "jaraco.classes",
expected: "jaraco-classes",
pkgName: "pywin32-ctypes",
lowerCase: true,
expected: "pywin32-ctypes",
},
{
pkgName: "green_gdk",
expected: "green-gdk",
pkgName: "jaraco.classes",
lowerCase: true,
expected: "jaraco-classes",
},
{
pkgName: "green_gdk",
lowerCase: true,
expected: "green-gdk",
},
{
pkgName: "foo--bar__baz",
lowerCase: true,
expected: "foo-bar-baz",
},
}
for _, tt := range tests {
t.Run(tt.pkgName, func(t *testing.T) {
assert.Equal(t, tt.expected, python.NormalizePkgName(tt.pkgName))
assert.Equal(t, tt.expected, python.NormalizePkgName(tt.pkgName, tt.lowerCase))
})
}
}