ソースを参照

Add hunk header to test case, coverage 87%

Matthew Wang 12 年 前
コミット
b62fc6c261
共有1 個のファイルを変更した22 個の追加18 個の削除を含む
  1. 22
    18
      tests/test_cdiff.py

+ 22
- 18
tests/test_cdiff.py ファイルの表示

91
 class TestDiff(unittest.TestCase):
91
 class TestDiff(unittest.TestCase):
92
 
92
 
93
     def _init_diff(self):
93
     def _init_diff(self):
94
-        hunk = cdiff.Hunk([], '@@ -1,2 +1,2 @@\n', (1,2), (1,2))
94
+        hunk = cdiff.Hunk(['hunk header\n'], '@@ -1,2 +1,2 @@\n', (1,2), (1,2))
95
         hunk.append(('-', 'hella\n'))
95
         hunk.append(('-', 'hella\n'))
96
         hunk.append(('+', 'hello\n'))
96
         hunk.append(('+', 'hello\n'))
97
         hunk.append((' ', 'world\n'))
97
         hunk.append((' ', 'world\n'))
110
     def test_markup_traditional(self):
110
     def test_markup_traditional(self):
111
         diff = self._init_diff()
111
         diff = self._init_diff()
112
         out = list(diff.markup_traditional())
112
         out = list(diff.markup_traditional())
113
-        self.assertEqual(len(out), 7)
113
+        self.assertEqual(len(out), 8)
114
 
114
 
115
         sys.stdout.write('\n')
115
         sys.stdout.write('\n')
116
         for markup in out:
116
         for markup in out:
119
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
119
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
120
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
120
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
121
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
121
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
122
-        self.assertEqual(out[3], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
123
-        self.assertEqual(out[4],
122
+        self.assertEqual(out[3], '\x1b[1;36mhunk header\n\x1b[0m')
123
+        self.assertEqual(out[4], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
124
+        self.assertEqual(out[5],
124
                 '\x1b[1;31m-\x1b[0m\x1b[31mhell\x1b[4m'
125
                 '\x1b[1;31m-\x1b[0m\x1b[31mhell\x1b[4m'
125
                 '\x1b[31ma\x1b[0m\x1b[31m\n\x1b[0m')
126
                 '\x1b[31ma\x1b[0m\x1b[31m\n\x1b[0m')
126
-        self.assertEqual(out[5],
127
+        self.assertEqual(out[6],
127
                 '\x1b[1;32m+\x1b[0m\x1b[32mhell\x1b[4m'
128
                 '\x1b[1;32m+\x1b[0m\x1b[32mhell\x1b[4m'
128
                 '\x1b[32mo\x1b[0m\x1b[32m\n\x1b[0m')
129
                 '\x1b[32mo\x1b[0m\x1b[32m\n\x1b[0m')
129
-        self.assertEqual(out[6], '\x1b[0m world\n\x1b[0m')
130
+        self.assertEqual(out[7], '\x1b[0m world\n\x1b[0m')
130
 
131
 
131
     def test_markup_side_by_side_padded(self):
132
     def test_markup_side_by_side_padded(self):
132
         diff = self._init_diff()
133
         diff = self._init_diff()
133
         out = list(diff.markup_side_by_side(6))
134
         out = list(diff.markup_side_by_side(6))
134
-        self.assertEqual(len(out), 6)
135
+        self.assertEqual(len(out), 7)
135
 
136
 
136
         sys.stdout.write('\n')
137
         sys.stdout.write('\n')
137
         for markup in out:
138
         for markup in out:
140
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
141
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
141
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
142
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
142
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
143
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
143
-        self.assertEqual(out[3], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
144
-        self.assertEqual(out[4],
144
+        self.assertEqual(out[3], '\x1b[1;36mhunk header\n\x1b[0m')
145
+        self.assertEqual(out[4], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
146
+        self.assertEqual(out[5],
145
                 '\x1b[33m1\x1b[0m '
147
                 '\x1b[33m1\x1b[0m '
146
                 '\x1b[31mhell\x1b[4m\x1b[31ma\x1b[0m\x1b[31m\x1b[0m  '
148
                 '\x1b[31mhell\x1b[4m\x1b[31ma\x1b[0m\x1b[31m\x1b[0m  '
147
                 '\x1b[0m\x1b[33m1\x1b[0m '
149
                 '\x1b[0m\x1b[33m1\x1b[0m '
148
                 '\x1b[32mhell\x1b[4m\x1b[32mo\x1b[0m\x1b[32m\x1b[0m\n')
150
                 '\x1b[32mhell\x1b[4m\x1b[32mo\x1b[0m\x1b[32m\x1b[0m\n')
149
-        self.assertEqual(out[5],
151
+        self.assertEqual(out[6],
150
                 '\x1b[33m2\x1b[0m '
152
                 '\x1b[33m2\x1b[0m '
151
                 '\x1b[0mworld\x1b[0m  '
153
                 '\x1b[0mworld\x1b[0m  '
152
                 '\x1b[0m\x1b[33m2\x1b[0m '
154
                 '\x1b[0m\x1b[33m2\x1b[0m '
155
     def test_markup_side_by_side_off_by_one(self):
157
     def test_markup_side_by_side_off_by_one(self):
156
         diff = self._init_diff()
158
         diff = self._init_diff()
157
         out = list(diff.markup_side_by_side(5))
159
         out = list(diff.markup_side_by_side(5))
158
-        self.assertEqual(len(out), 6)
160
+        self.assertEqual(len(out), 7)
159
 
161
 
160
         sys.stdout.write('\n')
162
         sys.stdout.write('\n')
161
         for markup in out:
163
         for markup in out:
164
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
166
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
165
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
167
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
166
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
168
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
167
-        self.assertEqual(out[3], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
168
-        self.assertEqual(out[4],
169
+        self.assertEqual(out[3], '\x1b[1;36mhunk header\n\x1b[0m')
170
+        self.assertEqual(out[4], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
171
+        self.assertEqual(out[5],
169
                 '\x1b[33m1\x1b[0m '
172
                 '\x1b[33m1\x1b[0m '
170
                 '\x1b[31mhell\x1b[4m\x1b[31ma\x1b[0m '
173
                 '\x1b[31mhell\x1b[4m\x1b[31ma\x1b[0m '
171
                 '\x1b[0m\x1b[33m1\x1b[0m '
174
                 '\x1b[0m\x1b[33m1\x1b[0m '
172
                 '\x1b[32mhell\x1b[4m\x1b[32mo\x1b[0m\n')
175
                 '\x1b[32mhell\x1b[4m\x1b[32mo\x1b[0m\n')
173
-        self.assertEqual(out[5],
176
+        self.assertEqual(out[6],
174
                 '\x1b[33m2\x1b[0m '
177
                 '\x1b[33m2\x1b[0m '
175
                 '\x1b[0mworld\x1b[0m '
178
                 '\x1b[0mworld\x1b[0m '
176
                 '\x1b[0m\x1b[33m2\x1b[0m '
179
                 '\x1b[0m\x1b[33m2\x1b[0m '
179
     def test_markup_side_by_side_wrapped(self):
182
     def test_markup_side_by_side_wrapped(self):
180
         diff = self._init_diff()
183
         diff = self._init_diff()
181
         out = list(diff.markup_side_by_side(4))
184
         out = list(diff.markup_side_by_side(4))
182
-        self.assertEqual(len(out), 6)
185
+        self.assertEqual(len(out), 7)
183
 
186
 
184
         sys.stdout.write('\n')
187
         sys.stdout.write('\n')
185
         for markup in out:
188
         for markup in out:
188
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
191
         self.assertEqual(out[0], '\x1b[36mheader\n\x1b[0m')
189
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
192
         self.assertEqual(out[1], '\x1b[33m--- old\n\x1b[0m')
190
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
193
         self.assertEqual(out[2], '\x1b[33m+++ new\n\x1b[0m')
191
-        self.assertEqual(out[3], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
192
-        self.assertEqual(out[4],
194
+        self.assertEqual(out[3], '\x1b[1;36mhunk header\n\x1b[0m')
195
+        self.assertEqual(out[4], '\x1b[1;34m@@ -1,2 +1,2 @@\n\x1b[0m')
196
+        self.assertEqual(out[5],
193
                 '\x1b[33m1\x1b[0m '
197
                 '\x1b[33m1\x1b[0m '
194
                 '\x1b[31mhel\x1b[0m\x1b[1;35m>\x1b[0m '
198
                 '\x1b[31mhel\x1b[0m\x1b[1;35m>\x1b[0m '
195
                 '\x1b[0m\x1b[33m1\x1b[0m '
199
                 '\x1b[0m\x1b[33m1\x1b[0m '
196
                 '\x1b[32mhel\x1b[0m\x1b[1;35m>\x1b[0m\n')
200
                 '\x1b[32mhel\x1b[0m\x1b[1;35m>\x1b[0m\n')
197
-        self.assertEqual(out[5],
201
+        self.assertEqual(out[6],
198
                 '\x1b[33m2\x1b[0m '
202
                 '\x1b[33m2\x1b[0m '
199
                 '\x1b[0mwor\x1b[0m\x1b[1;35m>\x1b[0m '
203
                 '\x1b[0mwor\x1b[0m\x1b[1;35m>\x1b[0m '
200
                 '\x1b[0m\x1b[33m2\x1b[0m '
204
                 '\x1b[0m\x1b[33m2\x1b[0m '