Codebase list golang-github-moby-term / 20ba622c-e76a-4ba3-ad52-29ff00e63f78/upstream ascii_test.go
20ba622c-e76a-4ba3-ad52-29ff00e63f78/upstream

Tree @20ba622c-e76a-4ba3-ad52-29ff00e63f78/upstream (Download .tar.gz)

ascii_test.go @20ba622c-e76a-4ba3-ad52-29ff00e63f78/upstreamraw · history · blame

package term

import (
	"testing"

	"gotest.tools/v3/assert"
	is "gotest.tools/v3/assert/cmp"
)

func TestToBytes(t *testing.T) {
	codes, err := ToBytes("ctrl-a,a")
	assert.NilError(t, err)
	assert.Check(t, is.DeepEqual([]byte{1, 97}, codes))

	_, err = ToBytes("shift-z")
	assert.Check(t, is.ErrorContains(err, ""))

	codes, err = ToBytes("ctrl-@,ctrl-[,~,ctrl-o")
	assert.NilError(t, err)
	assert.Check(t, is.DeepEqual([]byte{0, 27, 126, 15}, codes))

	codes, err = ToBytes("DEL,+")
	assert.NilError(t, err)
	assert.Check(t, is.DeepEqual([]byte{127, 43}, codes))
}