23 lines
600 B
Go
23 lines
600 B
Go
package winapi
|
|
|
|
import "testing"
|
|
|
|
func TestClassFromImagePath(t *testing.T) {
|
|
cases := []struct{ in, want string }{
|
|
{`C:\Program Files\Microsoft VS Code\Code.exe`, "code"},
|
|
{`C:\Windows\explorer.exe`, "explorer"},
|
|
{`chrome.exe`, "chrome"},
|
|
{`C:\x\FOO.EXE`, "foo"},
|
|
{`C:\x\My.App.exe`, "my.app"},
|
|
{`C:/forward/slash/Code.exe`, "code"},
|
|
{`firefox`, "firefox"},
|
|
{``, ""},
|
|
{`.exe`, ""}, // degenerate: only the extension
|
|
}
|
|
for _, c := range cases {
|
|
if got := ClassFromImagePath(c.in); got != c.want {
|
|
t.Errorf("ClassFromImagePath(%q) = %q, want %q", c.in, got, c.want)
|
|
}
|
|
}
|
|
}
|