Skip to content

Commit dbbfeca

Browse files
author
gbbr
committed
ByteSize
1 parent 66cb877 commit dbbfeca

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed

diff/diff.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func (d *FileDiff) Stat() Stat {
2121
func (h *Hunk) Stat() Stat {
2222
lines := bytes.Split(h.Body, []byte{'\n'})
2323
var last byte
24-
st := Stat{}
24+
st := Stat{ByteSize: int32(len(h.Body))}
2525
for _, line := range lines {
2626
if len(line) == 0 {
2727
last = 0
@@ -68,4 +68,5 @@ func (s *Stat) add(o Stat) {
6868
s.Added += o.Added
6969
s.Changed += o.Changed
7070
s.Deleted += o.Deleted
71+
s.ByteSize += o.ByteSize
7172
}

diff/diff.pb.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

diff/diff.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,8 @@ message Stat {
7272

7373
// number of lines deleted
7474
int32 deleted = 3;
75+
76+
// number of bytes contained in body
77+
int32 byte_size = 4;
7578
}
7679

diff/diff_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ func TestFileDiff_Stat(t *testing.T) {
246246
b
247247
`)},
248248
},
249-
want: Stat{},
249+
want: Stat{ByteSize: 19},
250250
},
251251
"added/deleted": {
252252
hunks: []*Hunk{
@@ -257,7 +257,7 @@ func TestFileDiff_Stat(t *testing.T) {
257257
d
258258
`)},
259259
},
260-
want: Stat{Added: 1, Deleted: 1},
260+
want: Stat{Added: 1, Deleted: 1, ByteSize: 25},
261261
},
262262
"changed": {
263263
hunks: []*Hunk{
@@ -269,7 +269,7 @@ func TestFileDiff_Stat(t *testing.T) {
269269
e
270270
`)},
271271
},
272-
want: Stat{Added: 1, Changed: 1, Deleted: 1},
272+
want: Stat{Added: 1, Changed: 1, Deleted: 1, ByteSize: 28},
273273
},
274274
"many changes": {
275275
hunks: []*Hunk{
@@ -281,7 +281,7 @@ func TestFileDiff_Stat(t *testing.T) {
281281
e
282282
`)},
283283
},
284-
want: Stat{Added: 0, Changed: 2, Deleted: 0},
284+
want: Stat{Added: 0, Changed: 2, Deleted: 0, ByteSize: 28},
285285
},
286286
}
287287
for label, test := range tests {

0 commit comments

Comments
 (0)