File: tsv_codec_test.go

package info (click to toggle)
miller 6.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 87,928 kB
  • sloc: ruby: 162; sh: 119; makefile: 87
file content (35 lines) | stat: -rw-r--r-- 1,198 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package lib

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestTSVDecodeField(t *testing.T) {
	assert.Equal(t, "", TSVDecodeField(""))
	assert.Equal(t, "a", TSVDecodeField("a"))
	assert.Equal(t, "abc", TSVDecodeField("abc"))
	assert.Equal(t, `\`, TSVDecodeField(`\`))
	assert.Equal(t, "\n", TSVDecodeField(`\n`))
	assert.Equal(t, "\r", TSVDecodeField(`\r`))
	assert.Equal(t, "\t", TSVDecodeField(`\t`))
	assert.Equal(t, "\\", TSVDecodeField(`\\`))
	assert.Equal(t, `\n`, TSVDecodeField(`\\n`))
	assert.Equal(t, "\\\n", TSVDecodeField(`\\\n`))
	assert.Equal(t, "abc\r\ndef\r\n", TSVDecodeField(`abc\r\ndef\r\n`))
}

func TestTSVEncodeField(t *testing.T) {
	assert.Equal(t, "", TSVEncodeField(""))
	assert.Equal(t, "a", TSVEncodeField("a"))
	assert.Equal(t, "abc", TSVEncodeField("abc"))
	assert.Equal(t, `\\`, TSVEncodeField(`\`))
	assert.Equal(t, `\n`, TSVEncodeField("\n"))
	assert.Equal(t, `\r`, TSVEncodeField("\r"))
	assert.Equal(t, `\t`, TSVEncodeField("\t"))
	assert.Equal(t, `\\`, TSVEncodeField("\\"))
	assert.Equal(t, `\\n`, TSVEncodeField("\\n"))
	assert.Equal(t, `\\\n`, TSVEncodeField("\\\n"))
	assert.Equal(t, `abc\r\ndef\r\n`, TSVEncodeField("abc\r\ndef\r\n"))
}