@@ -36,21 +36,25 @@ def test_diff(self, git):
3636 diffs = Commit .diff (self .repo , 'master' )
3737
3838 assert_equal (15 , len (diffs ))
39+
40+ diff = diffs [0 ]
41+ assert_equal ('.gitignore' , diff .a_blob .path )
42+ assert_equal ('.gitignore' , diff .b_blob .path )
43+ assert_equal ('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666' , diff .a_blob .id )
44+ assert_equal ('2dd02534615434d88c51307beb0f0092f21fd103' , diff .b_blob .id )
45+
46+ assert_mode_644 (diff .b_blob .mode )
47+
48+ assert_equal (False , diff .new_file )
49+ assert_equal (False , diff .deleted_file )
50+ assert_equal ("--- a/.gitignore\n +++ b/.gitignore\n @@ -1 +1,2 @@\n coverage\n +pkg" , diff .diff )
3951
40- assert_equal ('.gitignore' , diffs [0 ].a_blob .path )
41- assert_equal ('.gitignore' , diffs [0 ].b_blob .path )
42- assert_equal ('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666' , diffs [0 ].a_blob .id )
43- assert_equal ('2dd02534615434d88c51307beb0f0092f21fd103' , diffs [0 ].b_blob .id )
44- assert_equal ('100644' , diffs [0 ].b_blob .mode )
45- assert_equal (False , diffs [0 ].new_file )
46- assert_equal (False , diffs [0 ].deleted_file )
47- assert_equal ("--- a/.gitignore\n +++ b/.gitignore\n @@ -1 +1,2 @@\n coverage\n +pkg" , diffs [0 ].diff )
48-
49- assert_equal ('lib/grit/actor.rb' , diffs [5 ].b_blob .path )
50- assert_equal (None , diffs [5 ].a_blob )
51- assert_equal ('f733bce6b57c0e5e353206e692b0e3105c2527f4' , diffs [5 ].b_blob .id )
52- assert_equal ( None , diffs [5 ].a_mode )
53- assert_equal (True , diffs [5 ].new_file )
52+ diff = diffs [5 ]
53+ assert_equal ('lib/grit/actor.rb' , diff .b_blob .path )
54+ assert_equal (None , diff .a_blob )
55+ assert_equal ('f733bce6b57c0e5e353206e692b0e3105c2527f4' , diff .b_blob .id )
56+ assert_equal ( None , diff .a_mode )
57+ assert_equal (True , diff .new_file )
5458
5559 assert_true (git .called )
5660 assert_equal (git .call_args , (('diff' , '-M' , 'master' ), {'full_index' : True }))
@@ -115,19 +119,21 @@ def test_diffs(self, git):
115119
116120 assert_equal (15 , len (diffs ))
117121
118- assert_equal ('.gitignore' , diffs [0 ].a_blob .path )
119- assert_equal ('.gitignore' , diffs [0 ].b_blob .path )
120- assert_equal ('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666' , diffs [0 ].a_blob .id )
121- assert_equal ('2dd02534615434d88c51307beb0f0092f21fd103' , diffs [0 ].b_blob .id )
122- assert_equal ('100644' , diffs [0 ].b_blob .mode )
123- assert_equal (False , diffs [0 ].new_file )
124- assert_equal (False , diffs [0 ].deleted_file )
125- assert_equal ("--- a/.gitignore\n +++ b/.gitignore\n @@ -1 +1,2 @@\n coverage\n +pkg" , diffs [0 ].diff )
126-
127- assert_equal ('lib/grit/actor.rb' , diffs [5 ].b_blob .path )
128- assert_equal (None , diffs [5 ].a_blob )
129- assert_equal ('f733bce6b57c0e5e353206e692b0e3105c2527f4' , diffs [5 ].b_blob .id )
130- assert_equal (True , diffs [5 ].new_file )
122+ diff = diffs [0 ]
123+ assert_equal ('.gitignore' , diff .a_blob .path )
124+ assert_equal ('.gitignore' , diff .b_blob .path )
125+ assert_equal ('4ebc8aea50e0a67e000ba29a30809d0a7b9b2666' , diff .a_blob .id )
126+ assert_equal ('2dd02534615434d88c51307beb0f0092f21fd103' , diff .b_blob .id )
127+ assert_mode_644 (diff .b_blob .mode )
128+ assert_equal (False , diff .new_file )
129+ assert_equal (False , diff .deleted_file )
130+ assert_equal ("--- a/.gitignore\n +++ b/.gitignore\n @@ -1 +1,2 @@\n coverage\n +pkg" , diff .diff )
131+
132+ diff = diffs [5 ]
133+ assert_equal ('lib/grit/actor.rb' , diff .b_blob .path )
134+ assert_equal (None , diff .a_blob )
135+ assert_equal ('f733bce6b57c0e5e353206e692b0e3105c2527f4' , diff .b_blob .id )
136+ assert_equal (True , diff .new_file )
131137
132138 assert_true (git .called )
133139 assert_equal (git .call_args , (('diff' , '-M' ,
@@ -141,8 +147,14 @@ def test_diffs_on_initial_import(self):
141147 for diff in commit .diffs :
142148 assert isinstance (diff , Diff )
143149 assert isinstance (diff .a_blob , Blob ) or isinstance (diff .b_blob , Blob )
144- assert isinstance (diff .a_mode , int ) and isinstance (diff .b_mode , int )
145- assert diff .diff
150+
151+ if diff .a_mode is not None :
152+ assert isinstance (diff .a_mode , int )
153+ if diff .b_mode is not None :
154+ isinstance (diff .b_mode , int )
155+
156+ assert diff .diff is not None # can be empty
157+
146158 if diff .renamed :
147159 assert diff .rename_from and diff .rename_to and diff .rename_from != diff .rename_to
148160 if diff .a_blob is None :
@@ -171,8 +183,8 @@ def test_diffs_with_mode_only_change(self):
171183 assert_equal (1 , len (diffs ))
172184 assert_equal (None , diffs [0 ].a_blob )
173185 assert_equal (None , diffs [0 ].b_blob )
174- assert_equal ( '100644' , diffs [0 ].a_mode )
175- assert_equal ( '100755' , diffs [0 ].b_mode )
186+ assert_mode_644 ( diffs [0 ].a_mode )
187+ assert_mode_755 ( diffs [0 ].b_mode )
176188
177189 def test_stats (self ):
178190 commit = Commit (self .repo , id = '33ebe7acec14b25c5f84f35a664803fcab2f7781' )
0 commit comments