- Fungsi A: shortcut dari file executable (ELF/AppImage/script) - Fungsi B: shortcut PWA/URL dengan deteksi browser (native, /opt, Flatpak) - Checkbox Menu Aplikasi / Desktop, desktop-only pakai NoDisplay=true - List + uninstall + deteksi shortcut yang file .desktop-nya hilang - Metadata ~/.config/lazyrun/shortcuts.json, refresh cache XDG/KDE - AppImage + zsync update info via build.sh
36 lines
735 B
Go
36 lines
735 B
Go
package ui
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"fyne.io/fyne/v2/test"
|
|
|
|
"lazyrun/internal/store"
|
|
)
|
|
|
|
func TestBuildMainWindow(t *testing.T) {
|
|
a := test.NewApp()
|
|
defer a.Quit()
|
|
|
|
ui, err := build(a, "test")
|
|
if err != nil {
|
|
t.Fatalf("build(): %v", err)
|
|
}
|
|
if ui.win.Content() == nil {
|
|
t.Fatal("window tanpa content")
|
|
}
|
|
|
|
// dialog harus bisa dibuka tanpa panic
|
|
ui.showExecutableDialog()
|
|
ui.showWebAppDialog()
|
|
ui.checkUpdates()
|
|
}
|
|
|
|
func TestDescribe(t *testing.T) {
|
|
sc := store.Shortcut{Type: store.TypeWebApp, Targets: store.Targets{Menu: true}, DesktopPath: "/nonexistent/x.desktop"}
|
|
got := describe(sc)
|
|
if got != "Web · Application menu · missing" && got != "Web · Menu aplikasi · hilang" {
|
|
t.Errorf("describe() = %q", got)
|
|
}
|
|
}
|