mirror of
https://github.com/peco/peco.git
synced 2026-09-10 07:16:29 -04:00
68 lines
996 B
Go
68 lines
996 B
Go
package peco
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestCaretInitialPos(t *testing.T) {
|
|
t.Parallel()
|
|
var c Caret
|
|
require.Equal(t, 0, c.Pos())
|
|
}
|
|
|
|
func TestCaretSetPos(t *testing.T) {
|
|
t.Parallel()
|
|
var c Caret
|
|
c.SetPos(5)
|
|
require.Equal(t, 5, c.Pos())
|
|
|
|
c.SetPos(0)
|
|
require.Equal(t, 0, c.Pos())
|
|
|
|
c.SetPos(100)
|
|
require.Equal(t, 100, c.Pos())
|
|
}
|
|
|
|
func TestCaretMove(t *testing.T) {
|
|
t.Parallel()
|
|
var c Caret
|
|
c.SetPos(5)
|
|
|
|
c.Move(3)
|
|
require.Equal(t, 8, c.Pos())
|
|
|
|
c.Move(-2)
|
|
require.Equal(t, 6, c.Pos())
|
|
|
|
// Move to negative territory
|
|
c.Move(-10)
|
|
require.Equal(t, -4, c.Pos())
|
|
}
|
|
|
|
func TestCaretMoveFromZero(t *testing.T) {
|
|
t.Parallel()
|
|
var c Caret
|
|
|
|
c.Move(1)
|
|
require.Equal(t, 1, c.Pos())
|
|
|
|
c.Move(-1)
|
|
require.Equal(t, 0, c.Pos())
|
|
}
|
|
|
|
func TestCaretMultipleMoves(t *testing.T) {
|
|
t.Parallel()
|
|
var c Caret
|
|
for i := 0; i < 10; i++ {
|
|
c.Move(1)
|
|
}
|
|
require.Equal(t, 10, c.Pos())
|
|
|
|
for i := 0; i < 5; i++ {
|
|
c.Move(-1)
|
|
}
|
|
require.Equal(t, 5, c.Pos())
|
|
}
|