31 lines
626 B
Go
31 lines
626 B
Go
package item
|
|
|
|
import "testing"
|
|
|
|
func TestPageDataRoundTrip(t *testing.T) {
|
|
data := pageData(42, 3)
|
|
listID, page, err := parsePage(data)
|
|
if err != nil {
|
|
t.Fatalf("parsePage(%q) error = %v", data, err)
|
|
}
|
|
if listID != 42 || page != 3 {
|
|
t.Fatalf("parsePage(%q) = %d, %d", data, listID, page)
|
|
}
|
|
}
|
|
|
|
func TestParsePageRejectsBadData(t *testing.T) {
|
|
for _, data := range []string{
|
|
"v1:page",
|
|
"v1:page:42",
|
|
"v1:page:0:1",
|
|
"v1:page:42:0",
|
|
"v1:page:42:abc",
|
|
"v1:page:42:1:extra",
|
|
"page:42:1",
|
|
} {
|
|
if _, _, err := parsePage(data); err == nil {
|
|
t.Fatalf("parsePage(%q) accepted invalid data", data)
|
|
}
|
|
}
|
|
}
|