test: simplify cmd/micro tests (#3470)

This commit is contained in:
Oleksandr Redko 2024-09-16 20:33:59 +03:00 committed by GitHub
parent a3211dce57
commit 1539da7fdc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,7 +2,6 @@ package main
import ( import (
"fmt" "fmt"
"io/ioutil"
"log" "log"
"os" "os"
"testing" "testing"
@ -26,7 +25,7 @@ func init() {
func startup(args []string) (tcell.SimulationScreen, error) { func startup(args []string) (tcell.SimulationScreen, error) {
var err error var err error
tempDir, err = ioutil.TempDir("", "micro_test") tempDir, err = os.MkdirTemp("", "micro_test")
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -164,20 +163,22 @@ func findBuffer(file string) *buffer.Buffer {
return buf return buf
} }
func createTestFile(name string, content string) (string, error) { func createTestFile(t *testing.T, content string) string {
testf, err := ioutil.TempFile("", name) f, err := os.CreateTemp(t.TempDir(), "")
if err != nil { if err != nil {
return "", err t.Fatal(err)
}
defer func() {
if err := f.Close(); err != nil {
t.Fatal(err)
}
}()
if _, err := f.WriteString(content); err != nil {
t.Fatal(err)
} }
if _, err := testf.Write([]byte(content)); err != nil { return f.Name()
return "", err
}
if err := testf.Close(); err != nil {
return "", err
}
return testf.Name(), nil
} }
func TestMain(m *testing.M) { func TestMain(m *testing.M) {
@ -194,18 +195,12 @@ func TestMain(m *testing.M) {
} }
func TestSimpleEdit(t *testing.T) { func TestSimpleEdit(t *testing.T) {
file, err := createTestFile("micro_simple_edit_test", "base content") file := createTestFile(t, "base content")
if err != nil {
t.Error(err)
return
}
defer os.Remove(file)
openFile(file) openFile(file)
if findBuffer(file) == nil { if findBuffer(file) == nil {
t.Errorf("Could not find buffer %s", file) t.Fatalf("Could not find buffer %s", file)
return
} }
injectKey(tcell.KeyEnter, rune(tcell.KeyEnter), tcell.ModNone) injectKey(tcell.KeyEnter, rune(tcell.KeyEnter), tcell.ModNone)
@ -223,28 +218,21 @@ func TestSimpleEdit(t *testing.T) {
injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl) injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl)
data, err := ioutil.ReadFile(file) data, err := os.ReadFile(file)
if err != nil { if err != nil {
t.Error(err) t.Fatal(err)
return
} }
assert.Equal(t, "firstfoobar\nbase content\n", string(data)) assert.Equal(t, "firstfoobar\nbase content\n", string(data))
} }
func TestMouse(t *testing.T) { func TestMouse(t *testing.T) {
file, err := createTestFile("micro_mouse_test", "base content") file := createTestFile(t, "base content")
if err != nil {
t.Error(err)
return
}
defer os.Remove(file)
openFile(file) openFile(file)
if findBuffer(file) == nil { if findBuffer(file) == nil {
t.Errorf("Could not find buffer %s", file) t.Fatalf("Could not find buffer %s", file)
return
} }
// buffer: // buffer:
@ -275,10 +263,9 @@ func TestMouse(t *testing.T) {
// base content // base content
injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl) injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl)
data, err := ioutil.ReadFile(file) data, err := os.ReadFile(file)
if err != nil { if err != nil {
t.Error(err) t.Fatal(err)
return
} }
assert.Equal(t, "firstline\nsecondline\nbase content\n", string(data)) assert.Equal(t, "firstline\nsecondline\nbase content\n", string(data))
@ -301,18 +288,12 @@ Ernleȝe test_string æðelen
` `
func TestSearchAndReplace(t *testing.T) { func TestSearchAndReplace(t *testing.T) {
file, err := createTestFile("micro_search_replace_test", srTestStart) file := createTestFile(t, srTestStart)
if err != nil {
t.Error(err)
return
}
defer os.Remove(file)
openFile(file) openFile(file)
if findBuffer(file) == nil { if findBuffer(file) == nil {
t.Errorf("Could not find buffer %s", file) t.Fatalf("Could not find buffer %s", file)
return
} }
injectKey(tcell.KeyCtrlE, rune(tcell.KeyCtrlE), tcell.ModCtrl) injectKey(tcell.KeyCtrlE, rune(tcell.KeyCtrlE), tcell.ModCtrl)
@ -321,10 +302,9 @@ func TestSearchAndReplace(t *testing.T) {
injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl) injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl)
data, err := ioutil.ReadFile(file) data, err := os.ReadFile(file)
if err != nil { if err != nil {
t.Error(err) t.Fatal(err)
return
} }
assert.Equal(t, srTest2, string(data)) assert.Equal(t, srTest2, string(data))
@ -337,10 +317,9 @@ func TestSearchAndReplace(t *testing.T) {
injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl) injectKey(tcell.KeyCtrlS, rune(tcell.KeyCtrlS), tcell.ModCtrl)
data, err = ioutil.ReadFile(file) data, err = os.ReadFile(file)
if err != nil { if err != nil {
t.Error(err) t.Fatal(err)
return
} }
assert.Equal(t, srTest3, string(data)) assert.Equal(t, srTest3, string(data))