@@ -383,15 +383,7 @@ func TestAPI(t *testing.T) {
383
383
})
384
384
385
385
t .Run ("buf_attach" , func (t * testing.T ) {
386
- buffer , err := v .CurrentBuffer ()
387
- if err != nil {
388
- t .Fatal (err )
389
- }
390
-
391
- // clear curret buffer text
392
- if err := v .SetBufferLines (buffer , 0 , - 1 , true , bytes .Fields (nil )); err != nil {
393
- t .Fatal (err )
394
- }
386
+ clearBuffer (t , v , 0 ) // clear curret buffer text
395
387
396
388
type ChangedtickEvent struct {
397
389
Buffer Buffer
@@ -428,7 +420,7 @@ func TestAPI(t *testing.T) {
428
420
bufLinesChan <- ev
429
421
})
430
422
431
- ok , err := v .AttachBuffer (buffer , false , make (map [string ]interface {}))
423
+ ok , err := v .AttachBuffer (0 , false , make (map [string ]interface {})) // first 0 arg refers to the current buffer
432
424
if err != nil {
433
425
t .Fatal (err )
434
426
}
@@ -480,7 +472,7 @@ func TestAPI(t *testing.T) {
480
472
}()
481
473
482
474
test := []byte ("test" )
483
- if err := v .SetBufferLines (buffer , 0 , - 1 , true , bytes .Fields (test )); err != nil {
475
+ if err := v .SetBufferLines (0 , 0 , - 1 , true , bytes .Fields (test )); err != nil { // first 0 arg refers to the current buffer
484
476
t .Fatal (err )
485
477
}
486
478
@@ -490,6 +482,39 @@ func TestAPI(t *testing.T) {
490
482
}
491
483
}
492
484
})
485
+
486
+ t .Run ("virtual_text" , func (t * testing.T ) {
487
+ clearBuffer (t , v , 0 ) // clear curret buffer text
488
+
489
+ nsID , err := v .CreateNamespace ("test_virtual_text" )
490
+ if err != nil {
491
+ t .Fatal (err )
492
+ }
493
+
494
+ lines := []byte ("ping" )
495
+ if err := v .SetBufferLines (0 , 0 , - 1 , true , bytes .Fields (lines )); err != nil {
496
+ t .Fatal (err )
497
+ }
498
+
499
+ chunks := []VirtualTextChunk {
500
+ {
501
+ Text : "pong" ,
502
+ HLGroup : "String" ,
503
+ },
504
+ }
505
+ nsID2 , err := v .SetBufferVirtualText (0 , nsID , 0 , chunks , make (map [string ]interface {}))
506
+ if err != nil {
507
+ t .Fatal (err )
508
+ }
509
+
510
+ if got := nsID2 ; got != nsID {
511
+ t .Fatalf ("namespaceID: got %d, want %d" , got , nsID )
512
+ }
513
+
514
+ if err := v .ClearBufferNamespace (0 , nsID , 0 , - 1 ); err != nil {
515
+ t .Fatal (err )
516
+ }
517
+ })
493
518
}
494
519
495
520
func TestDial (t * testing.T ) {
@@ -563,3 +588,10 @@ func TestEmbedded(t *testing.T) {
563
588
t .Fatal ("timeout waiting for serve to exit" )
564
589
}
565
590
}
591
+
592
+ // clearBuffer clear the buffer text.
593
+ func clearBuffer (t * testing.T , v * Nvim , buffer Buffer ) {
594
+ if err := v .SetBufferLines (buffer , 0 , - 1 , true , bytes .Fields (nil )); err != nil {
595
+ t .Fatal (err )
596
+ }
597
+ }
0 commit comments