-
Notifications
You must be signed in to change notification settings - Fork 84
Expand file tree
/
Copy pathformat_ascii_test.go
More file actions
63 lines (50 loc) · 1.77 KB
/
format_ascii_test.go
File metadata and controls
63 lines (50 loc) · 1.77 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package sqlcmd
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestAsciiFormatter(t *testing.T) {
s, buf := setupSqlCmdWithMemoryOutput(t)
if s.db == nil {
t.Skip("No database connection available")
}
defer buf.Close()
// Set format to ascii
s.vars.Set(SQLCMDFORMAT, "ascii")
s.Format = NewSQLCmdDefaultFormatter(s.vars, false, ControlIgnore)
err := runSqlCmd(t, s, []string{"select 1 as id, 'test' as name", "GO"})
assert.NoError(t, err, "runSqlCmd returned error")
expected := `+----+------+` + SqlcmdEol +
`| id | name |` + SqlcmdEol +
`+----+------+` + SqlcmdEol +
`| 1 | test |` + SqlcmdEol +
`+----+------+` + SqlcmdEol +
`(1 row affected)` + SqlcmdEol
assert.Equal(t, expected, buf.buf.String())
}
func TestAsciiFormatterWrapping(t *testing.T) {
s, buf := setupSqlCmdWithMemoryOutput(t)
if s.db == nil {
t.Skip("No database connection available")
}
defer buf.Close()
s.vars.Set(SQLCMDFORMAT, "ascii")
s.vars.Set(SQLCMDCOLWIDTH, "20") // Small width to force wrapping
s.Format = NewSQLCmdDefaultFormatter(s.vars, false, ControlIgnore)
// Select 3 columns that won't fit in 20 chars
err := runSqlCmd(t, s, []string{"select 1 as id, 'test' as name, '0123456789' as descr", "GO"})
assert.NoError(t, err, "runSqlCmd returned error")
expectedPart1 := `+----+------+` + SqlcmdEol +
`| id | name |` + SqlcmdEol +
`+----+------+` + SqlcmdEol +
`| 1 | test |` + SqlcmdEol +
`+----+------+` + SqlcmdEol
expectedPart2 := `+------------+` + SqlcmdEol +
`| descr |` + SqlcmdEol +
`+------------+` + SqlcmdEol +
`| 0123456789 |` + SqlcmdEol +
`+------------+` + SqlcmdEol +
`(1 row affected)` + SqlcmdEol
assert.Contains(t, buf.buf.String(), expectedPart1)
assert.Contains(t, buf.buf.String(), expectedPart2)
}