diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-12-02 21:10:27 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-12-03 00:13:47 +0100 |
commit | 0efb00c2a86ec3f52000a643f26f54bb2a9dfbd6 (patch) | |
tree | 370d64135277eaa825ead0c25d33e99eb218087e /tpl/partials/partials_test.go | |
parent | 40a092b0687d44ecb53ef1fd53001a6299345780 (diff) |
tpl/partials: Allow any key type in partialCached
Fixes #6572
Diffstat (limited to 'tpl/partials/partials_test.go')
-rw-r--r-- | tpl/partials/partials_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tpl/partials/partials_test.go b/tpl/partials/partials_test.go new file mode 100644 index 000000000..60e9dd721 --- /dev/null +++ b/tpl/partials/partials_test.go @@ -0,0 +1,41 @@ +// Copyright 2019 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. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package partials + +import ( + "testing" + + qt "github.com/frankban/quicktest" +) + +func TestCreateKey(t *testing.T) { + c := qt.New(t) + m := make(map[interface{}]bool) + + create := func(name string, variants ...interface{}) partialCacheKey { + k, err := createKey(name, variants...) + c.Assert(err, qt.IsNil) + m[k] = true + return k + } + + for i := 0; i < 123; i++ { + c.Assert(create("a", "b"), qt.Equals, partialCacheKey{name: "a", variant: "b"}) + c.Assert(create("a", "b", "c"), qt.Equals, partialCacheKey{name: "a", variant: "9629524865311698396"}) + c.Assert(create("a", 1), qt.Equals, partialCacheKey{name: "a", variant: 1}) + c.Assert(create("a", map[string]string{"a": "av"}), qt.Equals, partialCacheKey{name: "a", variant: "4809626101226749924"}) + c.Assert(create("a", []string{"a", "b"}), qt.Equals, partialCacheKey{name: "a", variant: "2712570657419664240"}) + } + +} |