diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-08-18 11:21:27 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-08-26 15:00:44 +0200 |
commit | f9978ed16476ca6d233a89669c62c798cdf9db9d (patch) | |
tree | 02edb31008b997a3e77055060a34971fe9e8c5a4 /resources/resource_test.go | |
parent | 58d4c0a8be8beefbd7437b17bf7a9a381164d09b (diff) |
Image resource refactor
This commit pulls most of the image related logic into its own package, to make it easier to reason about and extend.
This is also a rewrite of the transformation logic used in Hugo Pipes, mostly to allow constructs like the one below:
{{ ($myimg | fingerprint ).Width }}
Fixes #5903
Fixes #6234
Fixes #6266
Diffstat (limited to 'resources/resource_test.go')
-rw-r--r-- | resources/resource_test.go | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/resources/resource_test.go b/resources/resource_test.go index b6d93c9a6..46391527d 100644 --- a/resources/resource_test.go +++ b/resources/resource_test.go @@ -32,7 +32,7 @@ import ( func TestGenericResource(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) r := spec.newGenericResource(nil, nil, nil, "/a/foo.css", "foo.css", media.CSSType) @@ -44,7 +44,7 @@ func TestGenericResource(t *testing.T) { func TestGenericResourceWithLinkFacory(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) factory := newTargetPaths("/foo") @@ -58,7 +58,7 @@ func TestGenericResourceWithLinkFacory(t *testing.T) { func TestNewResourceFromFilename(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) writeSource(t, spec.Fs, "content/a/b/logo.png", "image") writeSource(t, spec.Fs, "content/a/b/data.json", "json") @@ -79,14 +79,11 @@ func TestNewResourceFromFilename(t *testing.T) { c.Assert(r, qt.Not(qt.IsNil)) c.Assert(r.ResourceType(), qt.Equals, "json") - cloned := r.(resource.Cloner).WithNewBase("aceof") - c.Assert(cloned.ResourceType(), qt.Equals, r.ResourceType()) - c.Assert(cloned.RelPermalink(), qt.Equals, "/aceof/a/b/data.json") } func TestNewResourceFromFilenameSubPathInBaseURL(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpecForBaseURL(c, "https://example.com/docs") + spec := newTestResourceSpec(specDescriptor{c: c, baseURL: "https://example.com/docs"}) writeSource(t, spec.Fs, "content/a/b/logo.png", "image") bfs := afero.NewBasePathFs(spec.Fs.Source, "content") @@ -99,8 +96,6 @@ func TestNewResourceFromFilenameSubPathInBaseURL(t *testing.T) { c.Assert(r.ResourceType(), qt.Equals, "image") c.Assert(r.RelPermalink(), qt.Equals, "/docs/a/b/logo.png") c.Assert(r.Permalink(), qt.Equals, "https://example.com/docs/a/b/logo.png") - img := r.(*Image) - c.Assert(img.targetFilenames()[0], qt.Equals, filepath.FromSlash("/a/b/logo.png")) } @@ -108,7 +103,7 @@ var pngType, _ = media.FromStringAndExt("image/png", "png") func TestResourcesByType(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) resources := resource.Resources{ spec.newGenericResource(nil, nil, nil, "/a/foo1.css", "foo1.css", media.CSSType), spec.newGenericResource(nil, nil, nil, "/a/logo.png", "logo.css", pngType), @@ -122,7 +117,7 @@ func TestResourcesByType(t *testing.T) { func TestResourcesGetByPrefix(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) resources := resource.Resources{ spec.newGenericResource(nil, nil, nil, "/a/foo1.css", "foo1.css", media.CSSType), spec.newGenericResource(nil, nil, nil, "/a/logo1.png", "logo1.png", pngType), @@ -151,7 +146,7 @@ func TestResourcesGetByPrefix(t *testing.T) { func TestResourcesGetMatch(t *testing.T) { c := qt.New(t) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) resources := resource.Resources{ spec.newGenericResource(nil, nil, nil, "/a/foo1.css", "foo1.css", media.CSSType), spec.newGenericResource(nil, nil, nil, "/a/logo1.png", "logo1.png", pngType), @@ -213,7 +208,7 @@ func BenchmarkResourcesMatch(b *testing.B) { // my own curiosity. func BenchmarkResourcesMatchA100(b *testing.B) { c := qt.New(b) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) a100 := strings.Repeat("a", 100) pattern := "a*a*a*a*a*a*a*a*b" @@ -228,7 +223,7 @@ func BenchmarkResourcesMatchA100(b *testing.B) { func benchResources(b *testing.B) resource.Resources { c := qt.New(b) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) var resources resource.Resources for i := 0; i < 30; i++ { @@ -252,7 +247,7 @@ func benchResources(b *testing.B) resource.Resources { func BenchmarkAssignMetadata(b *testing.B) { c := qt.New(b) - spec := newTestResourceSpec(c) + spec := newTestResourceSpec(specDescriptor{c: c}) for i := 0; i < b.N; i++ { b.StopTimer() |