diff --git a/.travis.yml b/.travis.yml index 684c823c..45a7b25c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: go go: - - 1.4 + - 1.7 sudo: false diff --git a/repo_test.go b/repo_test.go index 5aeaa44e..33eeecab 100644 --- a/repo_test.go +++ b/repo_test.go @@ -3,7 +3,6 @@ package main import ( "bytes" "io/ioutil" - "log" "sort" "strings" "testing" @@ -25,19 +24,18 @@ func TestDuplicatedLinks(t *testing.T) { links := make(map[string]bool, 0) query.Find("body a").Each(func(_ int, s *goquery.Selection) { - href, ok := s.Attr("href") - if !ok { - log.Printf("expected '%s' href", s) - t.Fail() - } + t.Run(s.Text(), func(t *testing.T) { + href, ok := s.Attr("href") + if !ok { + t.Error("expected to have href") + } - if links[href] { - log.Printf("duplicated link '%s'", href) - t.Fail() - return - } + if links[href] { + t.Fatalf("duplicated link '%s'", href) + } - links[href] = true + links[href] = true + }) }) } @@ -46,7 +44,12 @@ func testList(t *testing.T, list *goquery.Selection) { testList(t, items) items.RemoveFiltered("ul") }) - checkAlphabeticOrder(t, list) + + category := list.Prev().Text() + + t.Run(category, func(t *testing.T) { + checkAlphabeticOrder(t, list) + }) } func readme() []byte { @@ -80,8 +83,10 @@ func checkAlphabeticOrder(t *testing.T, s *goquery.Selection) { for k, item := range items { if item != sorted[k] { - log.Printf("expected '%s' but actual is '%s'", sorted[k], item) - t.Fail() + t.Errorf("expected '%s' but actual is '%s'", sorted[k], item) } } + if t.Failed() { + t.Logf("expected order is:\n%s", strings.Join(sorted, "\n")) + } }