import (
"context"
- "reflect"
+ "github.com/google/go-cmp/cmp"
"strings"
"testing"
return pages
}
+var comparePageGroup = qt.CmpEquals(cmp.Comparer(func(a, b Page) bool {
+ return a == b
+}))
+
func TestGroupByWithFieldNameArg(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupBy(context.Background(), "Weight")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByWithMethodNameArg(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupBy(context.Background(), "Type")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByWithSectionArg(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupBy(context.Background(), "Section")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be\n%#v, got\n%#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByInReverseOrder(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupBy(context.Background(), "Weight", "desc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByCalledWithEmptyPages(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
var pages Pages
groups, err := pages.GroupBy(context.Background(), "Weight")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if groups != nil {
- t.Errorf("PagesGroup isn't empty. It should be %#v, got %#v", nil, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, qt.IsNil)
}
func TestReverse(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
groups1, err := pages.GroupBy(context.Background(), "Weight", "desc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
+ c.Assert(err, qt.IsNil)
groups2, err := pages.GroupBy(context.Background(), "Weight")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- groups2 = groups2.Reverse()
+ c.Assert(err, qt.IsNil)
- if !reflect.DeepEqual(groups2, groups1) {
- t.Errorf("PagesGroup is sorted in unexpected order. It should be %#v, got %#v", groups2, groups1)
- }
+ groups2 = groups2.Reverse()
+ c.Assert(groups2, comparePageGroup, groups1)
}
func TestGroupByParam(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParam("custom_param")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamInReverseOrder(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParam("custom_param", "desc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamCalledWithCapitalLetterString(t *testing.T) {
groups, err := pages.GroupByParam("custom_param")
c.Assert(err, qt.IsNil)
- c.Assert(groups[0].Key, qt.Equals, testStr)
+ c.Assert(groups[0].Key, qt.DeepEquals, testStr)
}
func TestGroupByParamCalledWithSomeUnavailableParams(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
delete(pages[1].Params(), "custom_param")
}
groups, err := pages.GroupByParam("custom_param")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamCalledWithEmptyPages(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
var pages Pages
groups, err := pages.GroupByParam("custom_param")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if groups != nil {
- t.Errorf("PagesGroup isn't empty. It should be %#v, got %#v", nil, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, qt.IsNil)
}
func TestGroupByParamCalledWithUnavailableParam(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
_, err := pages.GroupByParam("unavailable_param")
- if err != nil {
- t.Errorf("GroupByParam returned an error when it shouldn't")
- }
+ c.Assert(err, qt.IsNil)
}
func TestGroupByParamNested(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
}
groups, err := pages.GroupByParam("custom_object.param")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByDate(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByDate("2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByDateInReverseOrder(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByDate("2006-01", "asc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByPublishDate(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByPublishDate("2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByPublishDateInReverseOrder(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByDate("2006-01", "asc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByPublishDateWithEmptyPages(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
var pages Pages
groups, err := pages.GroupByPublishDate("2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if groups != nil {
- t.Errorf("PagesGroup isn't empty. It should be %#v, got %#v", nil, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, qt.IsNil)
}
func TestGroupByExpiryDate(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByExpiryDate("2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamDate(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParamDate("custom_date", "2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamDateNested(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParamDate("custom_object.date", "2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
// https://github.com/gohugoio/hugo/issues/3983
func TestGroupByParamDateWithStringParams(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParamDate("custom_string_date", "2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamDateNestedWithStringParams(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParamDate("custom_object.string_date", "2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByLastmod(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByLastmod("2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByLastmodInReverseOrder(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByLastmod("2006-01", "asc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be\n%#v, got\n%#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamDateInReverseOrder(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
pages := preparePageGroupTestPages(t)
expect := PagesGroup{
}
groups, err := pages.GroupByParamDate("custom_date", "2006-01", "asc")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if !reflect.DeepEqual(groups, expect) {
- t.Errorf("PagesGroup has unexpected groups. It should be %#v, got %#v", expect, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, comparePageGroup, expect)
}
func TestGroupByParamDateWithEmptyPages(t *testing.T) {
+ c := qt.New(t)
+
t.Parallel()
var pages Pages
groups, err := pages.GroupByParamDate("custom_date", "2006-01")
- if err != nil {
- t.Fatalf("Unable to make PagesGroup array: %s", err)
- }
- if groups != nil {
- t.Errorf("PagesGroup isn't empty. It should be %#v, got %#v", nil, groups)
- }
+ c.Assert(err, qt.IsNil)
+ c.Assert(groups, qt.IsNil)
}