diff options
Diffstat (limited to 'helpers/general_test.go')
-rw-r--r-- | helpers/general_test.go | 79 |
1 files changed, 34 insertions, 45 deletions
diff --git a/helpers/general_test.go b/helpers/general_test.go index b2ee03f15..9b2e4fc58 100644 --- a/helpers/general_test.go +++ b/helpers/general_test.go @@ -1,4 +1,4 @@ -// Copyright 2019 The Hugo Authors. All rights reserved. +// Copyright 2023 The Hugo Authors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package helpers +package helpers_test import ( "fmt" @@ -21,17 +21,14 @@ import ( "time" "github.com/gohugoio/hugo/common/loggers" - "github.com/gohugoio/hugo/config" + "github.com/gohugoio/hugo/helpers" qt "github.com/frankban/quicktest" "github.com/spf13/afero" ) func TestResolveMarkup(t *testing.T) { - c := qt.New(t) - cfg := config.NewWithTestDefaults() - spec, err := NewContentSpec(cfg, loggers.NewErrorLogger(), afero.NewMemMapFs(), nil) - c.Assert(err, qt.IsNil) + spec := newTestContentSpec(nil) for i, this := range []struct { in string @@ -61,7 +58,7 @@ func TestResolveMarkup(t *testing.T) { func TestDistinctLoggerDoesNotLockOnWarningPanic(t *testing.T) { // Testing to make sure logger mutex doesn't lock if warnings cause panics. // func Warnf() of DistinctLogger is defined in general.go - l := NewDistinctLogger(loggers.NewWarningLogger()) + l := helpers.NewDistinctLogger(loggers.NewWarningLogger()) // Set PanicOnWarning to true to reproduce issue 9380 // Ensure global variable loggers.PanicOnWarning is reset to old value after test @@ -123,7 +120,7 @@ func TestFirstUpper(t *testing.T) { {"", ""}, {"å", "Å"}, } { - result := FirstUpper(this.in) + result := helpers.FirstUpper(this.in) if result != this.expect { t.Errorf("[%d] got %s but expected %s", i, result, this.expect) } @@ -143,7 +140,7 @@ func TestHasStringsPrefix(t *testing.T) { {[]string{"abra", "ca", "dabra"}, []string{"abra", "ca"}, true}, {[]string{"abra", "ca"}, []string{"abra", "ca", "dabra"}, false}, } { - result := HasStringsPrefix(this.s, this.prefix) + result := helpers.HasStringsPrefix(this.s, this.prefix) if result != this.expect { t.Fatalf("[%d] got %t but expected %t", i, result, this.expect) } @@ -162,7 +159,7 @@ func TestHasStringsSuffix(t *testing.T) { {[]string{"abra", "ca", "dabra"}, []string{"abra", "ca"}, false}, {[]string{"abra", "ca", "dabra"}, []string{"ca", "dabra"}, true}, } { - result := HasStringsSuffix(this.s, this.suffix) + result := helpers.HasStringsSuffix(this.s, this.suffix) if result != this.expect { t.Fatalf("[%d] got %t but expected %t", i, result, this.expect) } @@ -239,7 +236,7 @@ func TestSliceToLower(t *testing.T) { } for _, test := range tests { - res := SliceToLower(test.value) + res := helpers.SliceToLower(test.value) for i, val := range res { if val != test.expected[i] { t.Errorf("Case mismatch. Expected %s, got %s", test.expected[i], res[i]) @@ -251,34 +248,34 @@ func TestSliceToLower(t *testing.T) { func TestReaderContains(t *testing.T) { c := qt.New(t) for i, this := range append(containsBenchTestData, containsAdditionalTestData...) { - result := ReaderContains(strings.NewReader(this.v1), this.v2) + result := helpers.ReaderContains(strings.NewReader(this.v1), this.v2) if result != this.expect { t.Errorf("[%d] got %t but expected %t", i, result, this.expect) } } - c.Assert(ReaderContains(nil, []byte("a")), qt.Equals, false) - c.Assert(ReaderContains(nil, nil), qt.Equals, false) + c.Assert(helpers.ReaderContains(nil, []byte("a")), qt.Equals, false) + c.Assert(helpers.ReaderContains(nil, nil), qt.Equals, false) } func TestGetTitleFunc(t *testing.T) { title := "somewhere over the rainbow" c := qt.New(t) - c.Assert(GetTitleFunc("go")(title), qt.Equals, "Somewhere Over The Rainbow") - c.Assert(GetTitleFunc("chicago")(title), qt.Equals, "Somewhere over the Rainbow") - c.Assert(GetTitleFunc("Chicago")(title), qt.Equals, "Somewhere over the Rainbow") - c.Assert(GetTitleFunc("ap")(title), qt.Equals, "Somewhere Over the Rainbow") - c.Assert(GetTitleFunc("ap")(title), qt.Equals, "Somewhere Over the Rainbow") - c.Assert(GetTitleFunc("")(title), qt.Equals, "Somewhere Over the Rainbow") - c.Assert(GetTitleFunc("unknown")(title), qt.Equals, "Somewhere Over the Rainbow") + c.Assert(helpers.GetTitleFunc("go")(title), qt.Equals, "Somewhere Over The Rainbow") + c.Assert(helpers.GetTitleFunc("chicago")(title), qt.Equals, "Somewhere over the Rainbow") + c.Assert(helpers.GetTitleFunc("Chicago")(title), qt.Equals, "Somewhere over the Rainbow") + c.Assert(helpers.GetTitleFunc("ap")(title), qt.Equals, "Somewhere Over the Rainbow") + c.Assert(helpers.GetTitleFunc("ap")(title), qt.Equals, "Somewhere Over the Rainbow") + c.Assert(helpers.GetTitleFunc("")(title), qt.Equals, "Somewhere Over the Rainbow") + c.Assert(helpers.GetTitleFunc("unknown")(title), qt.Equals, "Somewhere Over the Rainbow") } func BenchmarkReaderContains(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { for i, this := range containsBenchTestData { - result := ReaderContains(strings.NewReader(this.v1), this.v2) + result := helpers.ReaderContains(strings.NewReader(this.v1), this.v2) if result != this.expect { b.Errorf("[%d] got %t but expected %t", i, result, this.expect) } @@ -288,7 +285,7 @@ func BenchmarkReaderContains(b *testing.B) { func TestUniqueStrings(t *testing.T) { in := []string{"a", "b", "a", "b", "c", "", "a", "", "d"} - output := UniqueStrings(in) + output := helpers.UniqueStrings(in) expected := []string{"a", "b", "c", "", "d"} if !reflect.DeepEqual(output, expected) { t.Errorf("Expected %#v, got %#v\n", expected, output) @@ -297,7 +294,7 @@ func TestUniqueStrings(t *testing.T) { func TestUniqueStringsReuse(t *testing.T) { in := []string{"a", "b", "a", "b", "c", "", "a", "", "d"} - output := UniqueStringsReuse(in) + output := helpers.UniqueStringsReuse(in) expected := []string{"a", "b", "c", "", "d"} if !reflect.DeepEqual(output, expected) { t.Errorf("Expected %#v, got %#v\n", expected, output) @@ -307,18 +304,10 @@ func TestUniqueStringsReuse(t *testing.T) { func TestUniqueStringsSorted(t *testing.T) { c := qt.New(t) in := []string{"a", "a", "b", "c", "b", "", "a", "", "d"} - output := UniqueStringsSorted(in) + output := helpers.UniqueStringsSorted(in) expected := []string{"", "a", "b", "c", "d"} c.Assert(output, qt.DeepEquals, expected) - c.Assert(UniqueStringsSorted(nil), qt.IsNil) -} - -func TestFindAvailablePort(t *testing.T) { - c := qt.New(t) - addr, err := FindAvailablePort() - c.Assert(err, qt.IsNil) - c.Assert(addr, qt.Not(qt.IsNil)) - c.Assert(addr.Port > 0, qt.Equals, true) + c.Assert(helpers.UniqueStringsSorted(nil), qt.IsNil) } func TestFastMD5FromFile(t *testing.T) { @@ -357,23 +346,23 @@ func TestFastMD5FromFile(t *testing.T) { defer bf1.Close() defer bf2.Close() - m1, err := MD5FromFileFast(sf1) + m1, err := helpers.MD5FromFileFast(sf1) c.Assert(err, qt.IsNil) c.Assert(m1, qt.Equals, "e9c8989b64b71a88b4efb66ad05eea96") - m2, err := MD5FromFileFast(sf2) + m2, err := helpers.MD5FromFileFast(sf2) c.Assert(err, qt.IsNil) c.Assert(m2, qt.Not(qt.Equals), m1) - m3, err := MD5FromFileFast(bf1) + m3, err := helpers.MD5FromFileFast(bf1) c.Assert(err, qt.IsNil) c.Assert(m3, qt.Not(qt.Equals), m2) - m4, err := MD5FromFileFast(bf2) + m4, err := helpers.MD5FromFileFast(bf2) c.Assert(err, qt.IsNil) c.Assert(m4, qt.Not(qt.Equals), m3) - m5, err := MD5FromReader(bf2) + m5, err := helpers.MD5FromReader(bf2) c.Assert(err, qt.IsNil) c.Assert(m5, qt.Not(qt.Equals), m4) } @@ -394,11 +383,11 @@ func BenchmarkMD5FromFileFast(b *testing.B) { } b.StartTimer() if full { - if _, err := MD5FromReader(f); err != nil { + if _, err := helpers.MD5FromReader(f); err != nil { b.Fatal(err) } } else { - if _, err := MD5FromFileFast(f); err != nil { + if _, err := helpers.MD5FromFileFast(f); err != nil { b.Fatal(err) } } @@ -413,7 +402,7 @@ func BenchmarkUniqueStrings(b *testing.B) { b.Run("Safe", func(b *testing.B) { for i := 0; i < b.N; i++ { - result := UniqueStrings(input) + result := helpers.UniqueStrings(input) if len(result) != 6 { b.Fatal(fmt.Sprintf("invalid count: %d", len(result))) } @@ -432,7 +421,7 @@ func BenchmarkUniqueStrings(b *testing.B) { for i := 0; i < b.N; i++ { inputc := inputs[i] - result := UniqueStringsReuse(inputc) + result := helpers.UniqueStringsReuse(inputc) if len(result) != 6 { b.Fatal(fmt.Sprintf("invalid count: %d", len(result))) } @@ -451,7 +440,7 @@ func BenchmarkUniqueStrings(b *testing.B) { for i := 0; i < b.N; i++ { inputc := inputs[i] - result := UniqueStringsSorted(inputc) + result := helpers.UniqueStringsSorted(inputc) if len(result) != 6 { b.Fatal(fmt.Sprintf("invalid count: %d", len(result))) } |