1
1
// Copyright (c) 2015 Jesse Meek <https://github.com/waigani>
2
2
// This program is Free Software see LICENSE file for details.
3
3
4
- package diffparser_test
4
+ package diffparser
5
5
6
6
import (
7
7
"io/ioutil"
8
8
"testing"
9
9
10
- jt "github.com/juju/testing"
11
- jc "github.com/juju/testing/checkers"
12
- "github.com/waigani/diffparser"
13
- gc "gopkg.in/check.v1"
10
+ "github.com/stretchr/testify/require"
14
11
)
15
12
16
- func Test (t * testing.T ) {
17
- gc .TestingT (t )
18
- }
19
-
20
- type suite struct {
21
- jt.CleanupSuite
22
- rawdiff string
23
- diff * diffparser.Diff
24
- }
25
-
26
- var _ = gc .Suite (& suite {})
27
-
28
- func (s * suite ) SetUpSuite (c * gc.C ) {
29
- byt , err := ioutil .ReadFile ("example.diff" )
30
- c .Assert (err , jc .ErrorIsNil )
31
- s .rawdiff = string (byt )
32
- }
33
-
34
13
// TODO(waigani) tests are missing more creative names (spaces, special
35
14
// chars), and diffed files that are not in the current directory.
36
15
37
- func (s * suite ) TestFileModeAndNaming (c * gc.C ) {
38
- diff , err := diffparser .Parse (s .rawdiff )
39
- c .Assert (err , jc .ErrorIsNil )
40
- c .Assert (diff .Files , gc .HasLen , 6 )
16
+ func setup (t * testing.T ) * Diff {
17
+ byt , err := ioutil .ReadFile ("example.diff" )
18
+ require .NoError (t , err )
19
+
20
+ diff , err := Parse (string (byt ))
21
+ require .NoError (t , err )
22
+ require .Equal (t , len (diff .Files ), 6 )
41
23
24
+ return diff
25
+ }
26
+ func TestFileModeAndNaming (t * testing.T ) {
27
+ diff := setup (t )
42
28
for i , expected := range []struct {
43
- mode diffparser. FileMode
29
+ mode FileMode
44
30
origName string
45
31
newName string
46
32
}{
47
33
{
48
- mode : diffparser . MODIFIED ,
34
+ mode : MODIFIED ,
49
35
origName : "file1" ,
50
36
newName : "file1" ,
51
37
},
52
38
{
53
- mode : diffparser . DELETED ,
39
+ mode : DELETED ,
54
40
origName : "file2" ,
55
41
newName : "" ,
56
42
},
57
43
{
58
- mode : diffparser . DELETED ,
44
+ mode : DELETED ,
59
45
origName : "file3" ,
60
46
newName : "" ,
61
47
},
62
48
{
63
- mode : diffparser . NEW ,
49
+ mode : NEW ,
64
50
origName : "" ,
65
51
newName : "file4" ,
66
52
},
67
53
{
68
- mode : diffparser . NEW ,
54
+ mode : NEW ,
69
55
origName : "" ,
70
56
newName : "newname" ,
71
57
},
72
58
{
73
- mode : diffparser . DELETED ,
59
+ mode : DELETED ,
74
60
origName : "symlink" ,
75
61
newName : "" ,
76
62
},
77
63
} {
78
64
file := diff .Files [i ]
79
- c .Logf ("testing file: %v" , file )
80
- c . Assert ( file . Mode , gc . Equals , expected . mode )
81
- c . Assert ( file . OrigName , gc . Equals , expected . origName )
82
- c . Assert ( file . NewName , gc . Equals , expected . newName )
65
+ t .Logf ("testing file: %v" , file )
66
+ require . Equal ( t , expected . mode , file . Mode )
67
+ require . Equal ( t , expected . origName , file . OrigName )
68
+ require . Equal ( t , expected . newName , file . NewName )
83
69
}
84
70
}
85
71
86
- func (s * suite ) TestHunk (c * gc.C ) {
87
- diff , err := diffparser .Parse (s .rawdiff )
88
- c .Assert (err , jc .ErrorIsNil )
89
- c .Assert (diff .Files , gc .HasLen , 6 )
90
-
91
- expectedOrigLines := []diffparser.DiffLine {
72
+ func TestHunk (t * testing.T ) {
73
+ diff := setup (t )
74
+ expectedOrigLines := []DiffLine {
92
75
{
93
- Mode : diffparser . UNCHANGED ,
76
+ Mode : UNCHANGED ,
94
77
Number : 1 ,
95
78
Content : "some" ,
96
79
Position : 2 ,
97
80
}, {
98
- Mode : diffparser . UNCHANGED ,
81
+ Mode : UNCHANGED ,
99
82
Number : 2 ,
100
83
Content : "lines" ,
101
84
Position : 3 ,
102
85
}, {
103
- Mode : diffparser . REMOVED ,
86
+ Mode : REMOVED ,
104
87
Number : 3 ,
105
88
Content : "in" ,
106
89
Position : 4 ,
107
90
}, {
108
- Mode : diffparser . UNCHANGED ,
91
+ Mode : UNCHANGED ,
109
92
Number : 4 ,
110
93
Content : "file1" ,
111
94
Position : 5 ,
112
95
},
113
96
}
114
97
115
- expectedNewLines := []diffparser. DiffLine {
98
+ expectedNewLines := []DiffLine {
116
99
{
117
- Mode : diffparser . ADDED ,
100
+ Mode : ADDED ,
118
101
Number : 1 ,
119
102
Content : "add a line" ,
120
103
Position : 1 ,
121
104
}, {
122
- Mode : diffparser . UNCHANGED ,
105
+ Mode : UNCHANGED ,
123
106
Number : 2 ,
124
107
Content : "some" ,
125
108
Position : 2 ,
126
109
}, {
127
- Mode : diffparser . UNCHANGED ,
110
+ Mode : UNCHANGED ,
128
111
Number : 3 ,
129
112
Content : "lines" ,
130
113
Position : 3 ,
131
114
}, {
132
- Mode : diffparser . UNCHANGED ,
115
+ Mode : UNCHANGED ,
133
116
Number : 4 ,
134
117
Content : "file1" ,
135
118
Position : 5 ,
@@ -140,15 +123,15 @@ func (s *suite) TestHunk(c *gc.C) {
140
123
origRange := file .Hunks [0 ].OrigRange
141
124
newRange := file .Hunks [0 ].NewRange
142
125
143
- c . Assert ( origRange . Start , gc . Equals , 1 )
144
- c . Assert ( origRange . Length , gc . Equals , 4 )
145
- c . Assert ( newRange . Start , gc . Equals , 1 )
146
- c . Assert ( newRange . Length , gc . Equals , 4 )
126
+ require . Equal ( t , 1 , origRange . Start )
127
+ require . Equal ( t , 4 , origRange . Length )
128
+ require . Equal ( t , 1 , newRange . Start )
129
+ require . Equal ( t , 4 , newRange . Length )
147
130
148
131
for i , line := range expectedOrigLines {
149
- c . Assert ( * origRange .Lines [i ], gc . DeepEquals , line )
132
+ require . Equal ( t , line , * origRange .Lines [i ])
150
133
}
151
134
for i , line := range expectedNewLines {
152
- c . Assert ( * newRange .Lines [i ], gc . DeepEquals , line )
135
+ require . Equal ( t , line , * newRange .Lines [i ])
153
136
}
154
137
}
0 commit comments