Skip to content

Commit a6285b7

Browse files
committed
Fix bug
1 parent 6936f9a commit a6285b7

File tree

8 files changed

+86
-41
lines changed

8 files changed

+86
-41
lines changed

kadai2/tanaka0325/imgconv/cover.html

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858

5959
<option value="file1">github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go (54.5%)</option>
6060

61-
<option value="file2">github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go (95.2%)</option>
61+
<option value="file2">github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go (95.7%)</option>
6262

6363
</select>
6464
</div>
@@ -165,15 +165,15 @@
165165
func NewImageFormat(ext string) ImageFormater <span class="cov8" title="1">{
166166
switch ext </span>{
167167
case "png":<span class="cov8" title="1">
168-
return &amp;PNG{Ext: "png"}</span>
168+
return &amp;PNG{Ext: ext}</span>
169169
case "jpg", "jpeg":<span class="cov8" title="1">
170-
return &amp;JPEG{Ext: "jpeg"}</span>
170+
return &amp;JPEG{Ext: ext}</span>
171171
case "gif":<span class="cov8" title="1">
172-
return &amp;GIF{Ext: "gif"}</span>
172+
return &amp;GIF{Ext: ext}</span>
173173
case "bmp":<span class="cov8" title="1">
174-
return &amp;BMP{Ext: "bmp"}</span>
174+
return &amp;BMP{Ext: ext}</span>
175175
case "tiff", "tif":<span class="cov8" title="1">
176-
return &amp;TIFF{Ext: "tiff"}</span>
176+
return &amp;TIFF{Ext: ext}</span>
177177
}
178178

179179
<span class="cov8" title="1">return nil</span>
@@ -201,8 +201,8 @@
201201
}</span>
202202
<span class="cov8" title="1">defer r.Close()
203203

204-
e := len(param.Path) - len(param.BeforeFormat.GetExt())
205-
w, err := param.FileHandler.Create(param.Path[:e] + param.AfterFormat.GetExt())
204+
n := buildAfterPath(param.Path, param.BeforeFormat.GetExt(), param.AfterFormat.GetExt())
205+
w, err := param.FileHandler.Create(n)
206206
if err != nil </span><span class="cov8" title="1">{
207207
return err
208208
}</span>
@@ -220,6 +220,11 @@
220220
<span class="cov8" title="1">return nil</span>
221221
}
222222

223+
func buildAfterPath(path, beforeExt, afterExt string) string <span class="cov8" title="1">{
224+
e := len(path) - len(beforeExt)
225+
return path[:e] + afterExt
226+
}</span>
227+
223228
func convert(r io.Reader, d Decoder, w io.Writer, e Encoder) error <span class="cov8" title="1">{
224229
img, err := d.Decode(r)
225230
if err != nil </span><span class="cov8" title="1">{

kadai2/tanaka0325/imgconv/cover.out

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:66.54,66.87 1 0
1919
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:67.54,67.70 1 1
2020
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:69.47,70.13 1 1
2121
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:83.2,83.12 1 1
22-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:71.13,72.26 1 1
23-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:73.21,74.28 1 1
24-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:75.13,76.26 1 1
25-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:77.13,78.26 1 1
26-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:79.21,80.28 1 1
22+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:71.13,72.24 1 1
23+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:73.21,74.25 1 1
24+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:75.13,76.24 1 1
25+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:77.13,78.24 1 1
26+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/format.go:79.21,80.25 1 1
2727
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:15.42,17.16 2 1
2828
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:20.2,24.16 4 1
2929
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:27.2,27.15 1 1
@@ -34,8 +34,9 @@ github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:24.16,26.3 1 1
3434
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:27.15,29.17 2 1
3535
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:29.17,31.4 1 0
3636
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:34.77,36.3 1 1
37-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:41.68,43.16 2 1
38-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:47.2,47.41 1 1
39-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:51.2,51.12 1 1
40-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:43.16,45.3 1 1
41-
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:47.41,49.3 1 1
37+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:41.62,44.2 2 1
38+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:46.68,48.16 2 1
39+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:52.2,52.41 1 1
40+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:56.2,56.12 1 1
41+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:48.16,50.3 1 1
42+
github.com/gopherdojo/dojo8/kadai2/tanaka0325/imgconv/imgconv.go:52.41,54.3 1 1
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
package imgconv
22

33
var ConvertFunc = convert
4+
var BuildAfterPathFunc = buildAfterPath

kadai2/tanaka0325/imgconv/file_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ func TestImgconvNewFile(t *testing.T) {
1212

1313
got, ok := f.(imgconv.File)
1414
if !ok {
15-
t.Errorf("expect type: File, but got %T", got)
15+
t.Errorf("expected type: File, but got %T", got)
1616
}
1717
}

kadai2/tanaka0325/imgconv/format.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@ func (t *TIFF) GetExt() string { return t.Ext }
6969
func NewImageFormat(ext string) ImageFormater {
7070
switch ext {
7171
case "png":
72-
return &PNG{Ext: "png"}
72+
return &PNG{Ext: ext}
7373
case "jpg", "jpeg":
74-
return &JPEG{Ext: "jpeg"}
74+
return &JPEG{Ext: ext}
7575
case "gif":
76-
return &GIF{Ext: "gif"}
76+
return &GIF{Ext: ext}
7777
case "bmp":
78-
return &BMP{Ext: "bmp"}
78+
return &BMP{Ext: ext}
7979
case "tiff", "tif":
80-
return &TIFF{Ext: "tiff"}
80+
return &TIFF{Ext: ext}
8181
}
8282

8383
return nil

kadai2/tanaka0325/imgconv/format_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,32 @@ import (
88

99
func TestImgconvNewImageFormat(t *testing.T) {
1010
tests := []struct {
11-
args string
12-
expect string
11+
args string
12+
expected string
1313
}{
14-
{args: "png", expect: "png"},
15-
{args: "jpg", expect: "jpeg"},
16-
{args: "jpeg", expect: "jpeg"},
17-
{args: "gif", expect: "gif"},
18-
{args: "bmp", expect: "bmp"},
19-
{args: "tiff", expect: "tiff"},
20-
{args: "tif", expect: "tiff"},
14+
{args: "png", expected: "png"},
15+
{args: "jpg", expected: "jpeg"},
16+
{args: "jpeg", expected: "jpeg"},
17+
{args: "gif", expected: "gif"},
18+
{args: "bmp", expected: "bmp"},
19+
{args: "tiff", expected: "tiff"},
20+
{args: "tif", expected: "tiff"},
2121
}
2222

2323
for _, tt := range tests {
2424
t.Run(tt.args, func(t *testing.T) {
2525
f := imgconv.NewImageFormat(tt.args)
2626
got := f.GetExt()
27-
if got != tt.expect {
28-
t.Errorf("expect = %+v, but got = %+v", tt.expect, got)
27+
if got != tt.expected {
28+
t.Errorf("expected = %+v, but got = %+v", tt.expected, got)
2929
}
3030
})
3131
}
3232

33-
t.Run("unexpected args", func(t *testing.T) {
33+
t.Run("expected args", func(t *testing.T) {
3434
got := imgconv.NewImageFormat("pdf")
3535
if got != nil {
36-
t.Errorf("expect = nil, but got = %+v", got)
36+
t.Errorf("expected = nil, but got = %+v", got)
3737
}
3838
})
3939
}

kadai2/tanaka0325/imgconv/imgconv.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ func Do(param ConvertParam) (rerr error) {
1919
}
2020
defer r.Close()
2121

22-
e := len(param.Path) - len(param.BeforeFormat.GetExt())
23-
w, err := param.FileHandler.Create(param.Path[:e] + param.AfterFormat.GetExt())
22+
n := buildAfterPath(param.Path, param.BeforeFormat.GetExt(), param.AfterFormat.GetExt())
23+
w, err := param.FileHandler.Create(n)
2424
if err != nil {
2525
return err
2626
}
@@ -38,6 +38,11 @@ func Do(param ConvertParam) (rerr error) {
3838
return nil
3939
}
4040

41+
func buildAfterPath(path, beforeExt, afterExt string) string {
42+
e := len(path) - len(beforeExt)
43+
return path[:e] + afterExt
44+
}
45+
4146
func convert(r io.Reader, d Decoder, w io.Writer, e Encoder) error {
4247
img, err := d.Decode(r)
4348
if err != nil {

kadai2/tanaka0325/imgconv/imgconv_test.go

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func TestImgconvDo(t *testing.T) {
123123
t.Run(tt.name, func(t *testing.T) {
124124
err := imgconv.Do(tt.args)
125125
if (tt.isErr && err == nil) || (!tt.isErr && err != nil) {
126-
t.Errorf("expect err = %+v, but got err = %+v", tt.isErr, err)
126+
t.Errorf("expected err = %+v, but got err = %+v", tt.isErr, err)
127127
}
128128
})
129129
}
@@ -211,7 +211,40 @@ func TestImgconv_convert(t *testing.T) {
211211
t.Run(tt.name, func(t *testing.T) {
212212
err := imgconv.ConvertFunc(tt.args.Reader, tt.args.Decoder, tt.args.Writer, tt.args.Encoder)
213213
if (tt.isErr && err == nil) || (!tt.isErr && err != nil) {
214-
t.Errorf("expect err = %+v, but got err = %+v", tt.isErr, err)
214+
t.Errorf("expected err = %+v, but got err = %+v", tt.isErr, err)
215+
}
216+
})
217+
}
218+
}
219+
220+
func TestImgconv_buildAfterPath(t *testing.T) {
221+
type args struct {
222+
path string
223+
beforeExt string
224+
afterExt string
225+
}
226+
227+
tests := []struct {
228+
name string
229+
args args
230+
expected string
231+
}{
232+
{
233+
name: "ok",
234+
args: args{
235+
path: "test.gif",
236+
beforeExt: "gif",
237+
afterExt: "png",
238+
},
239+
expected: "test.png",
240+
},
241+
}
242+
243+
for _, tt := range tests {
244+
t.Run(tt.name, func(t *testing.T) {
245+
got := imgconv.BuildAfterPathFunc(tt.args.path, tt.args.beforeExt, tt.args.afterExt)
246+
if got != tt.expected {
247+
t.Errorf("expected = %+v, but got = %+v", tt.expected, got)
215248
}
216249
})
217250
}

0 commit comments

Comments
 (0)