Skip to content

Commit baa03c6

Browse files
committed
nvim: add EvalStatusline testcase
Signed-off-by: Koichi Shiraishi <[email protected]>
1 parent fee98fa commit baa03c6

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

nvim/api_test.go

+92
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ func TestAPI(t *testing.T) {
134134
t.Run("UI", testUI(v))
135135
t.Run("Proc", testProc(v))
136136
t.Run("Mark", testMark(v))
137+
t.Run("StatusLine", testStatusLine(v))
137138
}
138139

139140
func testBufAttach(v *Nvim) func(*testing.T) {
@@ -5109,3 +5110,94 @@ func testMark(v *Nvim) func(*testing.T) {
51095110
})
51105111
}
51115112
}
5113+
5114+
func testStatusLine(v *Nvim) func(*testing.T) {
5115+
return func(t *testing.T) {
5116+
t.Run("Nvim", func(t *testing.T) {
5117+
opts := map[string]interface{}{
5118+
"highlights": true,
5119+
}
5120+
gotStatusLine, err := v.EvalStatusLine("TextWithNoHighlight", opts)
5121+
if err != nil {
5122+
t.Fatal(err)
5123+
}
5124+
5125+
wantStatusLine := map[string]interface{}{
5126+
"highlights": []interface{}{
5127+
map[string]interface{}{
5128+
"group": "StatusLine",
5129+
"start": int64(0),
5130+
},
5131+
},
5132+
"str": "TextWithNoHighlight",
5133+
"width": 19,
5134+
}
5135+
5136+
gotHighlight := gotStatusLine["highlights"].([]interface{})[0].(map[string]interface{})
5137+
wantHighlight := wantStatusLine["highlights"].([]interface{})[0].(map[string]interface{})
5138+
if !reflect.DeepEqual(gotHighlight["group"], wantHighlight["group"]) {
5139+
t.Fatalf("got %#v highlight group but want %#v", gotHighlight["group"], wantHighlight["group"])
5140+
}
5141+
if gotHighlight["start"] != wantHighlight["start"] {
5142+
t.Fatalf("got %#v highlight start but want %#v", gotHighlight["start"], wantHighlight["start"])
5143+
}
5144+
5145+
gotStr := gotStatusLine["str"]
5146+
wantStr := gotStatusLine["str"]
5147+
if gotStr != wantStr {
5148+
t.Fatalf("got %#v str but want %#v", gotStr, wantStr)
5149+
}
5150+
5151+
gotWidth := gotStatusLine["width"]
5152+
wantWidth := gotStatusLine["width"]
5153+
if gotWidth != wantWidth {
5154+
t.Fatalf("got %#v width but want %#v", gotWidth, wantWidth)
5155+
}
5156+
})
5157+
5158+
t.Run("Batch", func(t *testing.T) {
5159+
b := v.NewBatch()
5160+
5161+
opts := map[string]interface{}{
5162+
"highlights": true,
5163+
}
5164+
var gotStatusLine map[string]interface{}
5165+
b.EvalStatusLine("TextWithNoHighlight", opts, &gotStatusLine)
5166+
if err := b.Execute(); err != nil {
5167+
t.Fatal(err)
5168+
}
5169+
5170+
wantStatusLine := map[string]interface{}{
5171+
"highlights": []interface{}{
5172+
map[string]interface{}{
5173+
"group": "StatusLine",
5174+
"start": int64(0),
5175+
},
5176+
},
5177+
"str": "TextWithNoHighlight",
5178+
"width": 19,
5179+
}
5180+
5181+
gotHighlight := gotStatusLine["highlights"].([]interface{})[0].(map[string]interface{})
5182+
wantHighlight := wantStatusLine["highlights"].([]interface{})[0].(map[string]interface{})
5183+
if !reflect.DeepEqual(gotHighlight["group"], wantHighlight["group"]) {
5184+
t.Fatalf("got %#v highlight group but want %#v", gotHighlight["group"], wantHighlight["group"])
5185+
}
5186+
if gotHighlight["start"] != wantHighlight["start"] {
5187+
t.Fatalf("got %#v highlight start but want %#v", gotHighlight["start"], wantHighlight["start"])
5188+
}
5189+
5190+
gotStr := gotStatusLine["str"]
5191+
wantStr := gotStatusLine["str"]
5192+
if gotStr != wantStr {
5193+
t.Fatalf("got %#v str but want %#v", gotStr, wantStr)
5194+
}
5195+
5196+
gotWidth := gotStatusLine["width"]
5197+
wantWidth := gotStatusLine["width"]
5198+
if gotWidth != wantWidth {
5199+
t.Fatalf("got %#v width but want %#v", gotWidth, wantWidth)
5200+
}
5201+
})
5202+
}
5203+
}

0 commit comments

Comments
 (0)