@@ -2,7 +2,9 @@ package submitview
22
33import (
44 "os"
5+ "path/filepath"
56 "reflect"
7+ "runtime"
68 "testing"
79
810 tea "github.com/charmbracelet/bubbletea"
@@ -29,6 +31,7 @@ func TestResolveEditor(t *testing.T) {
2931 t .Setenv ("GH_EDITOR" , "" )
3032 t .Setenv ("VISUAL" , "" )
3133 t .Setenv ("EDITOR" , "" )
34+ t .Setenv ("PATH" , "" )
3235 assert .Equal (t , "" , resolveEditor ())
3336
3437 t .Setenv ("EDITOR" , "nano" )
@@ -37,12 +40,27 @@ func TestResolveEditor(t *testing.T) {
3740 assert .Equal (t , "vim" , resolveEditor ())
3841 t .Setenv ("GH_EDITOR" , "code --wait" )
3942 assert .Equal (t , "code --wait" , resolveEditor ())
43+
44+ t .Setenv ("GH_EDITOR" , "" )
45+ t .Setenv ("VISUAL" , "" )
46+ t .Setenv ("EDITOR" , "" )
47+ binDir := t .TempDir ()
48+ viName := "vi"
49+ if runtime .GOOS == "windows" {
50+ viName += ".exe"
51+ }
52+ require .NoError (t , os .WriteFile (filepath .Join (binDir , viName ), nil , 0o755 ))
53+ t .Setenv ("PATH" , binDir )
54+ assert .Equal (t , "vi" , resolveEditor ())
55+ t .Setenv ("EDITOR" , "nano" )
56+ assert .Equal (t , "nano" , resolveEditor ())
4057}
4158
4259func TestOpenEditor_NoEditorSet (t * testing.T ) {
4360 t .Setenv ("GH_EDITOR" , "" )
4461 t .Setenv ("VISUAL" , "" )
4562 t .Setenv ("EDITOR" , "" )
63+ t .Setenv ("PATH" , "" )
4664
4765 m := testModel (t , newNodes ())
4866 updated , cmd := m .Update (tea.KeyMsg {Type : tea .KeyCtrlE })
0 commit comments