package main import ( "fmt" "gitgud.io/mike/mpv-manager/pkg/hotkeys" "os" "path/filepath" "strings" ) func main() { root, err := os.MkdirTemp("", "mpv-oct-hotkeys-") if err != nil { panic(err) } defer os.RemoveAll(root) path := filepath.Join(root, "input.conf") old := "x loadfile \"/tmp/two spaces.mkv\"\ny cycle pause\n" if err := os.WriteFile(path, []byte(old), 0600); err != nil { panic(err) } _, err = hotkeys.SetBindingFile(path, "y", "seek 5", "", true) if err != nil { panic(err) } data, err := os.ReadFile(path) if err != nil { panic(err) } info, err := os.Stat(path) if err != nil { panic(err) } backups, err := filepath.Glob(path + "-input.conf.bak.*") if err != nil { panic(err) } backupInfo, err := os.Stat(backups[0]) if err != nil { panic(err) } fmt.Printf("before=%q\nafter=%q\nuntouched_command_corrupted=%v\nlive_mode=%#o backup_mode=%#o\n", old, string(data), !strings.Contains(string(data), "two spaces"), info.Mode().Perm(), backupInfo.Mode().Perm()) }