From b0b76d02bd819259fc90933a6462b6c2f98fd0fe Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Tue, 11 Mar 2025 12:42:03 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Extension=20was=20being=20ignore?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- make.go | 2 +- make_test.go | 37 +++++++++++++++++++++++++++++++++---- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/make.go b/make.go index 3cd537a..3de34a9 100644 --- a/make.go +++ b/make.go @@ -11,5 +11,5 @@ func Make(conf Config) (string, error) { return "", err } - return fmt.Sprintf("%s%s%s%s%s", conf.prefix, name, conf.original, conf.suffix, conf.original), nil + return fmt.Sprintf("%s%s%s%s%s", conf.prefix, name, conf.original, conf.suffix, conf.extension), nil } diff --git a/make_test.go b/make_test.go index e9cc006..1196967 100644 --- a/make_test.go +++ b/make_test.go @@ -8,10 +8,39 @@ import ( ) func TestMake(t *testing.T) { - conf := NewConfig(WithGenerator(func() (string, error) { return "abc", nil })) - st, err := Make(conf) - assert.NoError(t, err) - assert.Equal(t, "abc", st) + genOpt := WithGenerator(func() (string, error) { return "abc", nil }) + testcases := []struct { + name string + opts []Option + exp string + }{ + {"basic", nil, "abc.txt"}, + {"with prefix", []Option{WithPrefix("foo")}, "foo_abc.txt"}, + {"with suffix", []Option{WithSuffix("bar")}, "abc_bar.txt"}, + {"with original", []Option{WithOriginal("file")}, "abc_file.txt"}, + {"without ext", []Option{WithoutExtension()}, "abc"}, + {"with ext", []Option{WithExtension("xml")}, "abc.xml"}, + { + "with all", + []Option{ + WithPrefix("pre"), + WithOriginal("file"), + WithSuffix("suff"), + WithExtension("svg"), + }, + "pre_abc_file_suff.svg", + }, + } + + for _, testcase := range testcases { + t.Run(testcase.name, func(sub *testing.T) { + opts := append(testcase.opts, genOpt) + conf := NewConfig(opts...) + st, err := Make(conf) + assert.NoError(t, err) + assert.Equal(t, testcase.exp, st) + }) + } } func TestMakeErr(t *testing.T) {