c.Assert(err, qt.IsNil)
c.Assert(ns, qt.Not(qt.IsNil))
c.Assert(ns.SourceStructure, qt.DeepEquals, map[string]interface{}{"foo": "bar"})
- c.Assert(ns.SourceHash, qt.Equals, "14368731254619220105")
+ c.Assert(ns.SourceHash, qt.Equals, "5334326627423288605")
c.Assert(ns.Config, qt.DeepEquals, &tstNsExt{Foo: "bar"})
c.Assert(ns.Signature(), qt.DeepEquals, []*tstNsExt(nil))
}
github.com/makeworld-the-better-one/dither/v2 v2.4.0
github.com/marekm4/color-extractor v1.2.1
github.com/mattn/go-isatty v0.0.20
- github.com/mitchellh/hashstructure v1.1.0
+ github.com/mitchellh/hashstructure/v2 v2.0.2
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c
github.com/muesli/smartcrop v0.3.0
github.com/niklasfasching/go-org v1.7.0
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mitchellh/hashstructure v1.1.0 h1:P6P1hdjqAAknpY/M1CGipelZgp+4y9ja9kmUZPXP+H0=
-github.com/mitchellh/hashstructure v1.1.0/go.mod h1:xUDAozZz0Wmdiufv0uyhnHkUTN6/6d8ulp4AwfLKrmA=
+github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4=
+github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
import (
"strconv"
- "github.com/mitchellh/hashstructure"
+ "github.com/mitchellh/hashstructure/v2"
)
// HashString returns a hash from the given elements.
o = elements
}
- hash, err := hashstructure.Hash(o, nil)
+ hash, err := hashstructure.Hash(o, hashstructure.FormatV2, nil)
if err != nil {
panic(err)
}
key := NewResourceTransformationKey("testing",
testStruct{Name: "test", V1: int64(10), V2: int32(20), V3: 30, V4: uint64(40)})
c := qt.New(t)
- c.Assert(key.Value(), qt.Equals, "testing_518996646957295636")
+ c.Assert(key.Value(), qt.Equals, "testing_5850874845946291698")
}
c := qt.New(t)
check := func(uri string, optionsm map[string]any, expect1, expect2 string) {
+ c.Helper()
got1, got2 := remoteResourceKeys(uri, optionsm)
c.Assert(got1, qt.Equals, expect1)
c.Assert(got2, qt.Equals, expect2)
}
- check("foo", nil, "5917621528921068675", "5917621528921068675")
- check("foo", map[string]any{"bar": "baz"}, "7294498335241413323", "7294498335241413323")
- check("foo", map[string]any{"key": "1234", "bar": "baz"}, "14904296279238663669", "7294498335241413323")
- check("foo", map[string]any{"key": "12345", "bar": "baz"}, "12191037851845371770", "7294498335241413323")
- check("asdf", map[string]any{"key": "1234", "bar": "asdf"}, "14904296279238663669", "3787889110563790121")
- check("asdf", map[string]any{"key": "12345", "bar": "asdf"}, "12191037851845371770", "3787889110563790121")
+ check("foo", nil, "10276615683545312752", "10276615683545312752")
+ check("foo", map[string]any{"bar": "baz"}, "9898282343037894676", "9898282343037894676")
+ check("foo", map[string]any{"key": "1234", "bar": "baz"}, "14904296279238663669", "9898282343037894676")
+ check("foo", map[string]any{"key": "12345", "bar": "baz"}, "12191037851845371770", "9898282343037894676")
+ check("asdf", map[string]any{"key": "1234", "bar": "asdf"}, "14904296279238663669", "3005610248808565917")
+ check("asdf", map[string]any{"key": "12345", "bar": "asdf"}, "12191037851845371770", "3005610248808565917")
}
key := (&buildTransformation{optsm: opts}).Key()
- c.Assert(key.Value(), qt.Equals, "jsbuild_7891849149754191852")
+ c.Assert(key.Value(), qt.Equals, "jsbuild_9458638411414195026")
}
func TestToBuildOptions(t *testing.T) {
b := hugolib.Test(t, files)
b.AssertFileContent("public/index.html",
- "jpg|RelPermalink: /images/pixel_hu8aa3346827e49d756ff4e630147c42b5_70_filter_17010532266664966692.jpg|MediaType: image/jpeg|Width: 1|Height: 1|",
- "resize 1|RelPermalink: /images/pixel_hu8aa3346827e49d756ff4e630147c42b5_70_filter_6707036659822075562.jpg|MediaType: image/jpeg|Width: 20|Height: 30|",
- "resize 2|RelPermalink: /images/pixel_hu8aa3346827e49d756ff4e630147c42b5_70_filter_6707036659822075562.jpg|MediaType: image/jpeg|Width: 20|Height: 30|",
+ "jpg|RelPermalink: /images/pixel_hu8aa3346827e49d756ff4e630147c42b5_70_filter_14347832029652749901.jpg|MediaType: image/jpeg|Width: 1|Height: 1|",
+ "resize 1|RelPermalink: /images/pixel_hu8aa3346827e49d756ff4e630147c42b5_70_filter_14038289290831899195.jpg|MediaType: image/jpeg|Width: 20|Height: 30|",
+ "resize 2|RelPermalink: /images/pixel_hu8aa3346827e49d756ff4e630147c42b5_70_filter_14038289290831899195.jpg|MediaType: image/jpeg|Width: 20|Height: 30|",
)
}
"reflect"
"github.com/gohugoio/hugo/common/types"
- "github.com/mitchellh/hashstructure"
+ "github.com/gohugoio/hugo/identity"
)
var (
// to make them comparable
func normalize(v reflect.Value) any {
k := v.Kind()
-
switch {
case !v.Type().Comparable():
- h, err := hashstructure.Hash(v.Interface(), nil)
- if err != nil {
- panic(err)
- }
- return h
+ return identity.HashUint64(v.Interface())
case isNumber(k):
f, err := numberToFloat(v)
if err == nil {