mirror of
https://github.com/jroimartin/gocui.git
synced 2025-04-26 13:48:49 +08:00
735 lines
16 KiB
Go
735 lines
16 KiB
Go
package gocui
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestTextArea(t *testing.T) {
|
|
tests := []struct {
|
|
actions func(*TextArea)
|
|
expectedContent string
|
|
expectedCursor int
|
|
expectedClipboard string
|
|
}{
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('c')
|
|
},
|
|
expectedContent: "abc",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('\n')
|
|
textarea.TypeRune('c')
|
|
},
|
|
expectedContent: "a\nc",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abcd")
|
|
},
|
|
expectedContent: "abcd",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("a字cd")
|
|
},
|
|
expectedContent: "a字cd",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.BackSpaceChar()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.BackSpaceChar()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.BackSpaceChar()
|
|
},
|
|
expectedContent: "a",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.DeleteChar()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.DeleteChar()
|
|
},
|
|
expectedContent: "a",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.MoveCursorLeft()
|
|
textarea.DeleteChar()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('c')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.DeleteChar()
|
|
},
|
|
expectedContent: "ac",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.MoveCursorLeft()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.MoveCursorLeft()
|
|
},
|
|
expectedContent: "a",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.MoveCursorLeft()
|
|
},
|
|
expectedContent: "ab",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.MoveCursorRight()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.MoveCursorRight()
|
|
},
|
|
expectedContent: "a",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorRight()
|
|
},
|
|
expectedContent: "ab",
|
|
expectedCursor: 2,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('漢')
|
|
textarea.TypeRune('字')
|
|
textarea.MoveCursorLeft()
|
|
},
|
|
expectedContent: "漢字",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.ToggleOverwrite()
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
},
|
|
expectedContent: "ab",
|
|
expectedCursor: 2,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('c')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.ToggleOverwrite()
|
|
textarea.TypeRune('d')
|
|
},
|
|
expectedContent: "adc",
|
|
expectedCursor: 2,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa bbb")
|
|
textarea.MoveLeftWord()
|
|
},
|
|
expectedContent: "aaa bbb",
|
|
expectedCursor: 4,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa bbb\n")
|
|
textarea.MoveLeftWord()
|
|
},
|
|
expectedContent: "aaa bbb\n",
|
|
expectedCursor: 7,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa bbb")
|
|
textarea.MoveLeftWord()
|
|
textarea.MoveLeftWord()
|
|
},
|
|
expectedContent: "aaa bbb",
|
|
expectedCursor: 0,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa")
|
|
textarea.GoToStartOfLine()
|
|
textarea.MoveLeftWord()
|
|
},
|
|
expectedContent: "aaa",
|
|
expectedCursor: 0,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa bbb")
|
|
textarea.MoveRightWord()
|
|
},
|
|
expectedContent: "aaa bbb",
|
|
expectedCursor: 7,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa\nbbb")
|
|
textarea.GoToStartOfLine()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveRightWord()
|
|
},
|
|
expectedContent: "aaa\nbbb",
|
|
expectedCursor: 4,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa bbb")
|
|
textarea.GoToStartOfLine()
|
|
textarea.MoveRightWord()
|
|
},
|
|
expectedContent: "aaa bbb",
|
|
expectedCursor: 3,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("aaa bbb\n")
|
|
textarea.MoveCursorLeft()
|
|
textarea.GoToStartOfLine()
|
|
textarea.MoveRightWord()
|
|
textarea.MoveRightWord()
|
|
},
|
|
expectedContent: "aaa bbb\n",
|
|
expectedCursor: 7,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
// overwrite mode acts same as normal mode when cursor is at the end
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('c')
|
|
textarea.ToggleOverwrite()
|
|
textarea.TypeRune('d')
|
|
},
|
|
expectedContent: "abcd",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.DeleteToStartOfLine()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.DeleteToStartOfLine()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "ab",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.DeleteToStartOfLine()
|
|
},
|
|
expectedContent: "ab",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('\n')
|
|
textarea.DeleteToStartOfLine()
|
|
},
|
|
expectedContent: "ab",
|
|
expectedCursor: 2,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('\n')
|
|
textarea.TypeRune('c')
|
|
textarea.TypeRune('d')
|
|
textarea.DeleteToStartOfLine()
|
|
},
|
|
expectedContent: "ab\n",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "cd",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.GoToStartOfLine()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.MoveCursorLeft()
|
|
textarea.GoToStartOfLine()
|
|
},
|
|
expectedContent: "a",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('\n')
|
|
textarea.TypeRune('c')
|
|
textarea.TypeRune('d')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.GoToStartOfLine()
|
|
},
|
|
expectedContent: "ab\ncd",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('\n')
|
|
textarea.TypeRune('c')
|
|
textarea.TypeRune('d')
|
|
textarea.GoToStartOfLine()
|
|
},
|
|
expectedContent: "ab\ncd",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('\n')
|
|
textarea.TypeRune('c')
|
|
textarea.TypeRune('d')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.GoToStartOfLine()
|
|
},
|
|
expectedContent: "ab\ncd",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.GoToEndOfLine()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('a')
|
|
textarea.TypeRune('b')
|
|
textarea.TypeRune('\n')
|
|
textarea.TypeRune('c')
|
|
textarea.TypeRune('d')
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.GoToEndOfLine()
|
|
},
|
|
expectedContent: "ab\ncd",
|
|
expectedCursor: 5,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.SetCursor2D(10, 10)
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.SetCursor2D(-1, -1)
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("ab\ncd")
|
|
textarea.SetCursor2D(0, 0)
|
|
},
|
|
expectedContent: "ab\ncd",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("ab\ncd")
|
|
textarea.SetCursor2D(2, 0)
|
|
},
|
|
expectedContent: "ab\ncd",
|
|
expectedCursor: 2,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("ab\ncd\nef")
|
|
textarea.SetCursor2D(2, 1)
|
|
},
|
|
expectedContent: "ab\ncd\nef",
|
|
expectedCursor: 5,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abcd\n\nijkl")
|
|
textarea.MoveCursorUp()
|
|
},
|
|
expectedContent: "abcd\n\nijkl",
|
|
expectedCursor: 5,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abcdef\n老老老")
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorUp()
|
|
},
|
|
expectedContent: "abcdef\n老老老",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abcdef\n老老老")
|
|
textarea.MoveCursorUp()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorDown()
|
|
},
|
|
expectedContent: "abcdef\n老老老",
|
|
expectedCursor: 9,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abcd\nef")
|
|
textarea.MoveCursorUp()
|
|
textarea.GoToEndOfLine()
|
|
textarea.MoveCursorDown()
|
|
},
|
|
expectedContent: "abcd\nef",
|
|
expectedCursor: 7,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abcd")
|
|
textarea.MoveCursorUp()
|
|
},
|
|
expectedContent: "abcd",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abcdefg`)
|
|
textarea.Clear()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abcdefg`)
|
|
textarea.Clear()
|
|
},
|
|
expectedContent: "",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc def`)
|
|
textarea.MoveCursorLeft()
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc f",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "de",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc def `)
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc ",
|
|
expectedCursor: 5,
|
|
expectedClipboard: "def ",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abc def\nghi")
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc def\n",
|
|
expectedCursor: 8,
|
|
expectedClipboard: "ghi",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abc def\nghi")
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc defghi",
|
|
expectedCursor: 7,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc(def)`)
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc(def",
|
|
expectedCursor: 7,
|
|
expectedClipboard: ")",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc(def`)
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc(",
|
|
expectedCursor: 4,
|
|
expectedClipboard: "def",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc`)
|
|
textarea.GoToStartOfLine()
|
|
textarea.BackSpaceWord()
|
|
},
|
|
expectedContent: "abc",
|
|
expectedCursor: 0,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc`)
|
|
textarea.Yank()
|
|
},
|
|
expectedContent: "abc",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc def`)
|
|
textarea.DeleteToStartOfLine()
|
|
textarea.Yank()
|
|
textarea.Yank()
|
|
},
|
|
expectedContent: "abc defabc def",
|
|
expectedCursor: 14,
|
|
expectedClipboard: "abc def",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abc\ndef")
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorUp()
|
|
textarea.DeleteToEndOfLine()
|
|
},
|
|
expectedContent: "a\ndef",
|
|
expectedCursor: 1,
|
|
expectedClipboard: "bc",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("abc\ndef")
|
|
textarea.MoveCursorUp()
|
|
textarea.DeleteToEndOfLine()
|
|
},
|
|
expectedContent: "abcdef",
|
|
expectedCursor: 3,
|
|
expectedClipboard: "",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc def`)
|
|
textarea.BackSpaceWord()
|
|
textarea.Yank()
|
|
textarea.Yank()
|
|
},
|
|
expectedContent: "abc defdef",
|
|
expectedCursor: 10,
|
|
expectedClipboard: "def",
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString(`abc def`)
|
|
textarea.MoveCursorLeft()
|
|
textarea.MoveCursorLeft()
|
|
textarea.DeleteToEndOfLine()
|
|
textarea.Yank()
|
|
textarea.Yank()
|
|
},
|
|
expectedContent: "abc defef",
|
|
expectedCursor: 9,
|
|
expectedClipboard: "ef",
|
|
},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
textarea := &TextArea{}
|
|
test.actions(textarea)
|
|
assert.EqualValues(t, test.expectedContent, textarea.GetContent())
|
|
assert.EqualValues(t, test.expectedCursor, textarea.cursor)
|
|
assert.EqualValues(t, test.expectedClipboard, textarea.clipboard)
|
|
}
|
|
}
|
|
|
|
func TestGetCursorXY(t *testing.T) {
|
|
tests := []struct {
|
|
actions func(*TextArea)
|
|
expectedX int
|
|
expectedY int
|
|
}{
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
// do nothing
|
|
},
|
|
expectedX: 0,
|
|
expectedY: 0,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("ab\ncd")
|
|
},
|
|
expectedX: 2,
|
|
expectedY: 1,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeString("ab\n\n")
|
|
},
|
|
expectedX: 0,
|
|
expectedY: 2,
|
|
},
|
|
{
|
|
actions: func(textarea *TextArea) {
|
|
textarea.TypeRune('漢')
|
|
textarea.TypeRune('字')
|
|
},
|
|
expectedX: 4,
|
|
expectedY: 0,
|
|
},
|
|
}
|
|
|
|
for _, test := range tests {
|
|
textarea := &TextArea{}
|
|
test.actions(textarea)
|
|
x, y := textarea.GetCursorXY()
|
|
assert.EqualValues(t, test.expectedX, x)
|
|
assert.EqualValues(t, test.expectedY, y)
|
|
}
|
|
}
|