@@ -90,17 +90,17 @@ def test_log_commits
90
90
a = @lib . log_commits :count => 10
91
91
assert ( a . first . is_a? ( String ) )
92
92
assert_equal ( 10 , a . size )
93
-
93
+
94
94
a = @lib . log_commits :count => 20 , :since => "#{ Date . today . year - 2006 } years ago"
95
95
assert ( a . first . is_a? ( String ) )
96
96
assert_equal ( 20 , a . size )
97
-
97
+
98
98
a = @lib . log_commits :count => 20 , :since => '1 second ago'
99
99
assert_equal ( 0 , a . size )
100
-
100
+
101
101
a = @lib . log_commits :count => 20 , :between => [ 'v2.5' , 'v2.6' ]
102
102
assert_equal ( 2 , a . size )
103
-
103
+
104
104
a = @lib . log_commits :count => 20 , :path_limiter => 'ex_dir/'
105
105
assert_equal ( 1 , a . size )
106
106
@@ -150,58 +150,58 @@ def test_revparse
150
150
assert_equal ( '94c827875e2cadb8bc8d4cdd900f19aa9e8634c7' , @lib . revparse ( '1cc8667014381^{tree}' ) ) #tree
151
151
assert_equal ( 'ba492c62b6227d7f3507b4dcc6e6d5f13790eabf' , @lib . revparse ( 'v2.5:example.txt' ) ) #blob
152
152
end
153
-
153
+
154
154
def test_object_type
155
155
assert_equal ( 'commit' , @lib . object_type ( '1cc8667014381' ) ) # commit
156
156
assert_equal ( 'tree' , @lib . object_type ( '1cc8667014381^{tree}' ) ) #tree
157
157
assert_equal ( 'blob' , @lib . object_type ( 'v2.5:example.txt' ) ) #blob
158
158
assert_equal ( 'commit' , @lib . object_type ( 'v2.5' ) )
159
159
end
160
-
160
+
161
161
def test_object_size
162
162
assert_equal ( 265 , @lib . object_size ( '1cc8667014381' ) ) # commit
163
163
assert_equal ( 72 , @lib . object_size ( '1cc8667014381^{tree}' ) ) #tree
164
164
assert_equal ( 128 , @lib . object_size ( 'v2.5:example.txt' ) ) #blob
165
165
assert_equal ( 265 , @lib . object_size ( 'v2.5' ) )
166
166
end
167
-
167
+
168
168
def test_object_contents
169
169
commit = "tree 94c827875e2cadb8bc8d4cdd900f19aa9e8634c7\n "
170
170
commit << "parent 546bec6f8872efa41d5d97a369f669165ecda0de\n "
171
171
commit << "author scott Chacon <schacon@agadorsparticus.corp.reactrix.com> 1194561188 -0800\n "
172
172
commit << "committer scott Chacon <schacon@agadorsparticus.corp.reactrix.com> 1194561188 -0800\n "
173
173
commit << "\n test"
174
174
assert_equal ( commit , @lib . object_contents ( '1cc8667014381' ) ) # commit
175
-
175
+
176
176
tree = "040000 tree 6b790ddc5eab30f18cabdd0513e8f8dac0d2d3ed\t ex_dir\n "
177
177
tree << "100644 blob 3aac4b445017a8fc07502670ec2dbf744213dd48\t example.txt"
178
178
assert_equal ( tree , @lib . object_contents ( '1cc8667014381^{tree}' ) ) #tree
179
-
179
+
180
180
blob = "1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 2"
181
181
assert_equal ( blob , @lib . object_contents ( 'v2.5:example.txt' ) ) #blob
182
-
182
+
183
183
end
184
-
184
+
185
185
def test_object_contents_with_block
186
186
commit = "tree 94c827875e2cadb8bc8d4cdd900f19aa9e8634c7\n "
187
187
commit << "parent 546bec6f8872efa41d5d97a369f669165ecda0de\n "
188
188
commit << "author scott Chacon <schacon@agadorsparticus.corp.reactrix.com> 1194561188 -0800\n "
189
189
commit << "committer scott Chacon <schacon@agadorsparticus.corp.reactrix.com> 1194561188 -0800\n "
190
190
commit << "\n test"
191
-
191
+
192
192
@lib . object_contents ( '1cc8667014381' ) do |f |
193
193
assert_equal ( commit , f . read . chomp )
194
194
end
195
-
195
+
196
196
# commit
197
-
197
+
198
198
tree = "040000 tree 6b790ddc5eab30f18cabdd0513e8f8dac0d2d3ed\t ex_dir\n "
199
199
tree << "100644 blob 3aac4b445017a8fc07502670ec2dbf744213dd48\t example.txt"
200
200
201
201
@lib . object_contents ( '1cc8667014381^{tree}' ) do |f |
202
202
assert_equal ( tree , f . read . chomp ) #tree
203
203
end
204
-
204
+
205
205
blob = "1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 1\n 2"
206
206
207
207
@lib . object_contents ( 'v2.5:example.txt' ) do |f |
@@ -224,8 +224,8 @@ def test_config_remote
224
224
assert_equal ( '../working.git' , config [ 'url' ] )
225
225
assert_equal ( '+refs/heads/*:refs/remotes/working/*' , config [ 'fetch' ] )
226
226
end
227
-
228
-
227
+
228
+
229
229
def test_ls_tree
230
230
tree = @lib . ls_tree ( '94c827875e2cadb8bc8d4cdd900f19aa9e8634c7' )
231
231
assert_equal ( "3aac4b445017a8fc07502670ec2dbf744213dd48" , tree [ 'blob' ] [ 'example.txt' ] [ :sha ] )
@@ -247,6 +247,12 @@ def test_ls_remote
247
247
assert_equal ( "HEAD" , ls [ 'head' ] [ :ref ] )
248
248
assert_equal ( "5e392652a881999392c2757cf9b783c5d47b67f7" , ls [ 'head' ] [ :sha ] )
249
249
assert_equal ( nil , ls [ 'head' ] [ :name ] )
250
+
251
+ ls = lib . ls_remote ( @wbare , :refs => true )
252
+
253
+ assert_equal ( { } , ls [ 'head' ] ) # head is not a ref
254
+ assert_equal ( %w( gitsearch1 v2.5 v2.6 v2.7 v2.8 ) , ls [ 'tags' ] . keys . sort )
255
+ assert_equal ( %w( git_grep master test test_branches test_object ) , ls [ 'branches' ] . keys . sort )
250
256
end
251
257
end
252
258
@@ -261,28 +267,28 @@ def test_grep
261
267
assert_equal ( 'to search one' , match [ 'gitsearch1:scott/text.txt' ] . assoc ( 6 ) [ 1 ] )
262
268
assert_equal ( 2 , match [ 'gitsearch1:scott/text.txt' ] . size )
263
269
assert_equal ( 2 , match . size )
264
-
270
+
265
271
match = @lib . grep ( 'search' , :object => 'gitsearch1' , :path_limiter => 'scott/new*' )
266
272
assert_equal ( "you can't search me!" , match [ "gitsearch1:scott/newfile" ] . first [ 1 ] )
267
273
assert_equal ( 1 , match . size )
268
274
269
275
match = @lib . grep ( 'SEARCH' , :object => 'gitsearch1' )
270
276
assert_equal ( 0 , match . size )
271
-
277
+
272
278
match = @lib . grep ( 'SEARCH' , :object => 'gitsearch1' , :ignore_case => true )
273
279
assert_equal ( "you can't search me!" , match [ "gitsearch1:scott/newfile" ] . first [ 1 ] )
274
280
assert_equal ( 2 , match . size )
275
-
281
+
276
282
match = @lib . grep ( 'search' , :object => 'gitsearch1' , :invert_match => true )
277
283
assert_equal ( 6 , match [ 'gitsearch1:scott/text.txt' ] . size )
278
284
assert_equal ( 2 , match . size )
279
285
end
280
-
286
+
281
287
def test_show
282
288
assert ( /^commit 5e53019b3238362144c2766f02a2c00d91fcc023.+\+ replace with new text - diff test$/m . match ( @lib . show ) )
283
289
assert ( /^commit 935badc874edd62a8629aaf103418092c73f0a56.+\+ nothing!$/m . match ( @lib . show ( 'gitsearch1' ) ) )
284
290
assert ( /^hello.+nothing!$/m . match ( @lib . show ( 'gitsearch1' , 'scott/text.txt' ) ) )
285
291
assert ( @lib . show ( 'gitsearch1' , 'scott/text.txt' ) == "hello\n this is\n a file\n that is\n put here\n to search one\n to search two\n nothing!\n " )
286
292
end
287
-
293
+
288
294
end
0 commit comments