mirror of
https://codeberg.org/scip/tablizer.git
synced 2025-12-17 12:31:06 +01:00
fix pointer bug, mockdata have been overwritten by go test everytime,
now use a const struct via func.
This commit is contained in:
@@ -19,7 +19,6 @@ package lib
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gookit/color"
|
"github.com/gookit/color"
|
||||||
//"github.com/xo/terminfo"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -25,7 +25,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
var mockdata = Tabdata{
|
func newData() Tabdata {
|
||||||
|
return Tabdata{
|
||||||
maxwidthHeader: 8,
|
maxwidthHeader: 8,
|
||||||
maxwidthPerCol: []int{
|
maxwidthPerCol: []int{
|
||||||
5,
|
5,
|
||||||
@@ -61,6 +62,7 @@ var mockdata = Tabdata{
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var tests = []struct {
|
var tests = []struct {
|
||||||
name string // so we can identify which one fails, can be the same
|
name string // so we can identify which one fails, can be the same
|
||||||
@@ -154,27 +156,42 @@ DURATION(2): 33d12h
|
|||||||
WHEN(4): 06/Jan/2008 15:04:05 -0700`,
|
WHEN(4): 06/Jan/2008 15:04:05 -0700`,
|
||||||
},
|
},
|
||||||
|
|
||||||
// ----------------------- UseColumns Tests FIXME: when we put
|
//------------------------ SORT TESTS
|
||||||
// these tests AFTER the sort tests, then the order of rows
|
|
||||||
// follows the last sort call (-k 4 here), even if we set
|
|
||||||
// SortByColumn to 0, which is also the default if unset in the
|
|
||||||
// test struct. Somehow the SliceStable() seens to modify the data
|
|
||||||
// structure, which seems impossible, since it's copied during
|
|
||||||
// every test run. So, I really don't understand the
|
|
||||||
// issue. However, I'll keep this for the moment, because this
|
|
||||||
// only seems to be a unit test related issue. In real use, the
|
|
||||||
// program exits after each call anyway - and it works everytime.
|
|
||||||
|
|
||||||
{
|
{
|
||||||
name: "usecolumns",
|
name: "sortbycolumn",
|
||||||
usecol: []int{2, 4},
|
column: 3,
|
||||||
usecolstr: "2,4",
|
sortby: "numeric",
|
||||||
|
desc: false,
|
||||||
expect: `
|
expect: `
|
||||||
DURATION(2) WHEN(4)
|
NAME(1) DURATION(2) COUNT(3) WHEN(4)
|
||||||
1d10h5m1s 3/1/2014
|
ceta 33d12h 9 06/Jan/2008 15:04:05 -0700
|
||||||
4h35m 2013-Feb-03
|
beta 1d10h5m1s 33 3/1/2014
|
||||||
33d12h 06/Jan/2008 15:04:05 -0700`,
|
alpha 4h35m 170 2013-Feb-03`,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "sortbycolumn",
|
||||||
|
column: 4,
|
||||||
|
sortby: "time",
|
||||||
|
desc: false,
|
||||||
|
expect: `
|
||||||
|
NAME(1) DURATION(2) COUNT(3) WHEN(4)
|
||||||
|
ceta 33d12h 9 06/Jan/2008 15:04:05 -0700
|
||||||
|
alpha 4h35m 170 2013-Feb-03
|
||||||
|
beta 1d10h5m1s 33 3/1/2014`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "sortbycolumn",
|
||||||
|
column: 2,
|
||||||
|
sortby: "duration",
|
||||||
|
desc: false,
|
||||||
|
expect: `
|
||||||
|
NAME(1) DURATION(2) COUNT(3) WHEN(4)
|
||||||
|
alpha 4h35m 170 2013-Feb-03
|
||||||
|
beta 1d10h5m1s 33 3/1/2014
|
||||||
|
ceta 33d12h 9 06/Jan/2008 15:04:05 -0700`,
|
||||||
|
},
|
||||||
|
|
||||||
|
// ----------------------- UseColumns Tests
|
||||||
{
|
{
|
||||||
name: "usecolumns",
|
name: "usecolumns",
|
||||||
usecol: []int{1, 4},
|
usecol: []int{1, 4},
|
||||||
@@ -216,40 +233,15 @@ beta 33
|
|||||||
alpha 170
|
alpha 170
|
||||||
ceta 9`,
|
ceta 9`,
|
||||||
},
|
},
|
||||||
|
|
||||||
//------------------------ SORT TESTS
|
|
||||||
{
|
{
|
||||||
name: "sortbycolumn",
|
name: "usecolumns",
|
||||||
column: 3,
|
usecol: []int{2, 4},
|
||||||
sortby: "numeric",
|
usecolstr: "2,4",
|
||||||
desc: false,
|
|
||||||
expect: `
|
expect: `
|
||||||
NAME(1) DURATION(2) COUNT(3) WHEN(4)
|
DURATION(2) WHEN(4)
|
||||||
ceta 33d12h 9 06/Jan/2008 15:04:05 -0700
|
1d10h5m1s 3/1/2014
|
||||||
beta 1d10h5m1s 33 3/1/2014
|
4h35m 2013-Feb-03
|
||||||
alpha 4h35m 170 2013-Feb-03`,
|
33d12h 06/Jan/2008 15:04:05 -0700`,
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "sortbycolumn",
|
|
||||||
column: 2,
|
|
||||||
sortby: "duration",
|
|
||||||
desc: false,
|
|
||||||
expect: `
|
|
||||||
NAME(1) DURATION(2) COUNT(3) WHEN(4)
|
|
||||||
alpha 4h35m 170 2013-Feb-03
|
|
||||||
beta 1d10h5m1s 33 3/1/2014
|
|
||||||
ceta 33d12h 9 06/Jan/2008 15:04:05 -0700`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "sortbycolumn",
|
|
||||||
column: 4,
|
|
||||||
sortby: "time",
|
|
||||||
desc: false,
|
|
||||||
expect: `
|
|
||||||
NAME(1) DURATION(2) COUNT(3) WHEN(4)
|
|
||||||
ceta 33d12h 9 06/Jan/2008 15:04:05 -0700
|
|
||||||
alpha 4h35m 170 2013-Feb-03
|
|
||||||
beta 1d10h5m1s 33 3/1/2014`,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,7 +270,7 @@ func TestPrinter(t *testing.T) {
|
|||||||
Columns = ""
|
Columns = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
testdata := mockdata
|
testdata := newData()
|
||||||
exp := strings.TrimSpace(tt.expect)
|
exp := strings.TrimSpace(tt.expect)
|
||||||
|
|
||||||
printData(&w, &testdata)
|
printData(&w, &testdata)
|
||||||
|
|||||||
Reference in New Issue
Block a user