ggem 1.8.3 → 1.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- data/Gemfile +3 -1
- data/README.md +2 -2
- data/bin/ggem +1 -1
- data/ggem.gemspec +8 -6
- data/lib/ggem.rb +2 -2
- data/lib/ggem/cli.rb +49 -54
- data/lib/ggem/cli/clirb.rb +44 -48
- data/lib/ggem/cli/commands.rb +19 -53
- data/lib/ggem/gem.rb +43 -43
- data/lib/ggem/gemspec.rb +68 -73
- data/lib/ggem/git_repo.rb +39 -44
- data/lib/ggem/template.rb +52 -54
- data/lib/ggem/template_file/Gemfile.erb +3 -1
- data/lib/ggem/template_file/README.md.erb +4 -4
- data/lib/ggem/template_file/gemspec.erb +10 -8
- data/lib/ggem/template_file/lib.rb.erb +2 -2
- data/lib/ggem/template_file/lib_version.rb.erb +1 -1
- data/lib/ggem/template_file/ruby-version.erb +1 -0
- data/lib/ggem/template_file/test_helper.rb.erb +2 -11
- data/lib/ggem/template_file/test_support_factory.rb.erb +1 -2
- data/lib/ggem/version.rb +1 -1
- data/log/.keep +0 -0
- data/test/helper.rb +6 -15
- data/test/support/cmd_tests_helpers.rb +35 -40
- data/test/support/factory.rb +1 -2
- data/test/support/gem1/gem1.gemspec +1 -1
- data/test/support/gem2/gem2.gemspec +2 -2
- data/test/support/name_set.rb +53 -53
- data/test/system/ggem_tests.rb +7 -12
- data/test/unit/cli_tests.rb +78 -109
- data/test/unit/gem_tests.rb +1 -5
- data/test/unit/gemspec_tests.rb +19 -26
- data/test/unit/git_repo_tests.rb +3 -14
- metadata +64 -57
- data/.gitignore +0 -19
data/test/unit/cli_tests.rb
CHANGED
@@ -1,15 +1,14 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "assert"
|
2
|
+
require "ggem/cli"
|
3
3
|
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
4
|
+
require "ggem/cli/clirb"
|
5
|
+
require "ggem/cli/commands"
|
6
|
+
require "ggem/gem"
|
7
|
+
require "ggem/gemspec"
|
8
|
+
require "ggem/git_repo"
|
9
|
+
require "much-plugin"
|
10
10
|
|
11
11
|
class GGem::CLI
|
12
|
-
|
13
12
|
class UnitTests < Assert::Context
|
14
13
|
desc "GGem::CLI"
|
15
14
|
setup do
|
@@ -33,21 +32,20 @@ class GGem::CLI
|
|
33
32
|
|
34
33
|
assert_instance_of InvalidCommand, COMMANDS[Factory.string]
|
35
34
|
|
36
|
-
assert_instance_of GenerateCommand, COMMANDS[
|
37
|
-
assert_instance_of BuildCommand, COMMANDS[
|
38
|
-
assert_instance_of InstallCommand, COMMANDS[
|
39
|
-
assert_instance_of PushCommand, COMMANDS[
|
40
|
-
assert_instance_of TagCommand, COMMANDS[
|
41
|
-
assert_instance_of ReleaseCommand, COMMANDS[
|
35
|
+
assert_instance_of GenerateCommand, COMMANDS["generate"]
|
36
|
+
assert_instance_of BuildCommand, COMMANDS["build"]
|
37
|
+
assert_instance_of InstallCommand, COMMANDS["install"]
|
38
|
+
assert_instance_of PushCommand, COMMANDS["push"]
|
39
|
+
assert_instance_of TagCommand, COMMANDS["tag"]
|
40
|
+
assert_instance_of ReleaseCommand, COMMANDS["release"]
|
42
41
|
|
43
|
-
assert_same COMMANDS[
|
44
|
-
assert_same COMMANDS[
|
45
|
-
assert_same COMMANDS[
|
46
|
-
assert_same COMMANDS[
|
47
|
-
assert_same COMMANDS[
|
48
|
-
assert_same COMMANDS[
|
42
|
+
assert_same COMMANDS["generate"], COMMANDS["g"]
|
43
|
+
assert_same COMMANDS["build"], COMMANDS["b"]
|
44
|
+
assert_same COMMANDS["install"], COMMANDS["i"]
|
45
|
+
assert_same COMMANDS["push"], COMMANDS["p"]
|
46
|
+
assert_same COMMANDS["tag"], COMMANDS["t"]
|
47
|
+
assert_same COMMANDS["release"], COMMANDS["r"]
|
49
48
|
end
|
50
|
-
|
51
49
|
end
|
52
50
|
|
53
51
|
class InitTests < UnitTests
|
@@ -62,7 +60,6 @@ class GGem::CLI
|
|
62
60
|
subject{ @cli }
|
63
61
|
|
64
62
|
should have_imeths :run
|
65
|
-
|
66
63
|
end
|
67
64
|
|
68
65
|
class RunSetupTests < InitTests
|
@@ -71,7 +68,7 @@ class GGem::CLI
|
|
71
68
|
@argv = [@command_name, Factory.string]
|
72
69
|
|
73
70
|
@command_class = Class.new
|
74
|
-
@command_spy
|
71
|
+
@command_spy = CommandSpy.new
|
75
72
|
Assert.stub(@command_class, :new){ @command_spy }
|
76
73
|
COMMANDS.add(@command_class, @command_name)
|
77
74
|
|
@@ -80,7 +77,6 @@ class GGem::CLI
|
|
80
77
|
teardown do
|
81
78
|
COMMANDS.remove(@command_name)
|
82
79
|
end
|
83
|
-
|
84
80
|
end
|
85
81
|
|
86
82
|
class RunTests < RunSetupTests
|
@@ -96,7 +92,6 @@ class GGem::CLI
|
|
96
92
|
should "have successfully exited" do
|
97
93
|
assert_equal 0, @kernel_spy.exit_status
|
98
94
|
end
|
99
|
-
|
100
95
|
end
|
101
96
|
|
102
97
|
class RunWithNoArgsTests < RunSetupTests
|
@@ -113,7 +108,6 @@ class GGem::CLI
|
|
113
108
|
should "have successfully exited" do
|
114
109
|
assert_equal 0, @kernel_spy.exit_status
|
115
110
|
end
|
116
|
-
|
117
111
|
end
|
118
112
|
|
119
113
|
class RunWithInvalidCommandTests < RunSetupTests
|
@@ -125,7 +119,7 @@ class GGem::CLI
|
|
125
119
|
end
|
126
120
|
|
127
121
|
should "output that it is invalid and output the invalid command's help" do
|
128
|
-
exp = "
|
122
|
+
exp = "`#{@name}` is not a command.\n\n"
|
129
123
|
assert_equal exp, @stderr.read
|
130
124
|
assert_equal @invalid_command.help, @stdout.read
|
131
125
|
end
|
@@ -133,7 +127,6 @@ class GGem::CLI
|
|
133
127
|
should "have unsuccessfully exited" do
|
134
128
|
assert_equal 1, @kernel_spy.exit_status
|
135
129
|
end
|
136
|
-
|
137
130
|
end
|
138
131
|
|
139
132
|
class RunWithCommandExitErrorTests < RunSetupTests
|
@@ -147,13 +140,12 @@ class GGem::CLI
|
|
147
140
|
assert_equal 1, @kernel_spy.exit_status
|
148
141
|
assert_empty @stderr.read
|
149
142
|
end
|
150
|
-
|
151
143
|
end
|
152
144
|
|
153
145
|
class RunWithHelpTests < RunSetupTests
|
154
146
|
desc "and run with the help switch"
|
155
147
|
setup do
|
156
|
-
@cli.run([
|
148
|
+
@cli.run([ "--help" ])
|
157
149
|
end
|
158
150
|
|
159
151
|
should "output the invalid command's help" do
|
@@ -164,13 +156,12 @@ class GGem::CLI
|
|
164
156
|
should "have successfully exited" do
|
165
157
|
assert_equal 0, @kernel_spy.exit_status
|
166
158
|
end
|
167
|
-
|
168
159
|
end
|
169
160
|
|
170
161
|
class RunWithVersionTests < RunSetupTests
|
171
162
|
desc "and run with the version switch"
|
172
163
|
setup do
|
173
|
-
@cli.run([
|
164
|
+
@cli.run([ "--version" ])
|
174
165
|
end
|
175
166
|
|
176
167
|
should "have output its version" do
|
@@ -181,7 +172,6 @@ class GGem::CLI
|
|
181
172
|
should "have successfully exited" do
|
182
173
|
assert_equal 0, @kernel_spy.exit_status
|
183
174
|
end
|
184
|
-
|
185
175
|
end
|
186
176
|
|
187
177
|
class RunWithErrorTests < RunSetupTests
|
@@ -201,7 +191,6 @@ class GGem::CLI
|
|
201
191
|
should "have unsuccessfully exited" do
|
202
192
|
assert_equal 1, @kernel_spy.exit_status
|
203
193
|
end
|
204
|
-
|
205
194
|
end
|
206
195
|
|
207
196
|
class InvalidCommandTests < UnitTests
|
@@ -226,12 +215,12 @@ class GGem::CLI
|
|
226
215
|
end
|
227
216
|
|
228
217
|
should "parse its argv on run" do
|
229
|
-
assert_raises(CLIRB::HelpExit){ subject.new.run([
|
230
|
-
assert_raises(CLIRB::VersionExit){ subject.new.run([
|
218
|
+
assert_raises(CLIRB::HelpExit){ subject.new.run([ "--help" ]) }
|
219
|
+
assert_raises(CLIRB::VersionExit){ subject.new.run([ "--version" ]) }
|
231
220
|
end
|
232
221
|
|
233
222
|
should "raise a help exit if its name is empty" do
|
234
|
-
cmd = @command_class.new([nil,
|
223
|
+
cmd = @command_class.new([nil, ""].sample)
|
235
224
|
argv = [Factory.string, Factory.string]
|
236
225
|
assert_raises(CLIRB::HelpExit){ cmd.new.run(argv) }
|
237
226
|
end
|
@@ -247,7 +236,6 @@ class GGem::CLI
|
|
247
236
|
"#{COMMANDS.to_s.split("\n").map{ |l| " #{l}" }.join("\n")}\n"
|
248
237
|
assert_equal exp, subject.help
|
249
238
|
end
|
250
|
-
|
251
239
|
end
|
252
240
|
|
253
241
|
class IOCommandTests < UnitTests
|
@@ -256,7 +244,6 @@ class GGem::CLI
|
|
256
244
|
@stdout, @stderr = IOSpy.new, IOSpy.new
|
257
245
|
end
|
258
246
|
subject{ @cmd }
|
259
|
-
|
260
247
|
end
|
261
248
|
|
262
249
|
class ValidCommandTests < IOCommandTests
|
@@ -280,22 +267,21 @@ class GGem::CLI
|
|
280
267
|
|
281
268
|
should "take custom CLIRB build procs" do
|
282
269
|
cmd = @command_class.new do
|
283
|
-
option
|
270
|
+
option "test", "testing", :abbrev => "t"
|
284
271
|
end
|
285
|
-
cmd.run([
|
286
|
-
assert_true cmd.clirb.opts[
|
272
|
+
cmd.run(["-t"], @stdout, @stderr)
|
273
|
+
assert_true cmd.clirb.opts["test"]
|
287
274
|
end
|
288
275
|
|
289
276
|
should "default its summary" do
|
290
|
-
assert_equal
|
277
|
+
assert_equal "", subject.summary
|
291
278
|
end
|
292
|
-
|
293
279
|
end
|
294
280
|
|
295
281
|
class GitRepoCommandTests < IOCommandTests
|
296
282
|
desc "GitRepoCommand"
|
297
283
|
setup do
|
298
|
-
@gem1_root_path = TEST_SUPPORT_PATH.join(
|
284
|
+
@gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
|
299
285
|
Assert.stub(Dir, :pwd){ @gem1_root_path}
|
300
286
|
|
301
287
|
@command_class = Class.new{ include GitRepoCommand }
|
@@ -314,7 +300,6 @@ class GGem::CLI
|
|
314
300
|
@command_class.new
|
315
301
|
assert_equal [Dir.pwd], gitrepo_new_called_with
|
316
302
|
end
|
317
|
-
|
318
303
|
end
|
319
304
|
|
320
305
|
module RootPathTests
|
@@ -326,7 +311,6 @@ class GGem::CLI
|
|
326
311
|
Assert.stub(Dir, :pwd){ @root_path }
|
327
312
|
end
|
328
313
|
end
|
329
|
-
|
330
314
|
end
|
331
315
|
|
332
316
|
module GitRepoSpyTests
|
@@ -339,9 +323,7 @@ class GGem::CLI
|
|
339
323
|
@repo_spy = nil
|
340
324
|
Assert.stub(GGem::GitRepo, :new){ |*args| @repo_spy = GitRepoSpy.new(*args) }
|
341
325
|
end
|
342
|
-
|
343
326
|
end
|
344
|
-
|
345
327
|
end
|
346
328
|
|
347
329
|
class GenerateCommandTests < IOCommandTests
|
@@ -411,13 +393,12 @@ class GGem::CLI
|
|
411
393
|
assert_equal exp, err.message
|
412
394
|
assert_not_empty err.backtrace
|
413
395
|
end
|
414
|
-
|
415
396
|
end
|
416
397
|
|
417
398
|
class GemspecCommandTests < IOCommandTests
|
418
399
|
desc "GemspecCommand"
|
419
400
|
setup do
|
420
|
-
@gem1_root_path = TEST_SUPPORT_PATH.join(
|
401
|
+
@gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
|
421
402
|
Assert.stub(Dir, :pwd){ @gem1_root_path}
|
422
403
|
|
423
404
|
@command_class = Class.new{ include GemspecCommand }
|
@@ -449,7 +430,6 @@ class GGem::CLI
|
|
449
430
|
exp = "There are no gemspecs at #{Dir.pwd}"
|
450
431
|
assert_equal exp, err.message
|
451
432
|
end
|
452
|
-
|
453
433
|
end
|
454
434
|
|
455
435
|
module GemspecSpyTests
|
@@ -463,7 +443,6 @@ class GGem::CLI
|
|
463
443
|
Assert.stub(GGem::Gemspec, :new){ |*args| @spec_spy = GemspecSpy.new(*args) }
|
464
444
|
end
|
465
445
|
end
|
466
|
-
|
467
446
|
end
|
468
447
|
|
469
448
|
class BuildCommandTests < IOCommandTests
|
@@ -494,16 +473,16 @@ class GGem::CLI
|
|
494
473
|
end
|
495
474
|
|
496
475
|
should "call the spec's run build cmd when run" do
|
497
|
-
ENV[
|
476
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
498
477
|
subject.run([], @stdout, @stderr)
|
499
478
|
|
500
479
|
assert_true @spec_spy.run_build_cmd_called
|
501
480
|
|
502
|
-
exp = ENV[
|
481
|
+
exp = ENV["DEBUG"] == "1" ? "build\nbuild cmd was run\n" : ""
|
503
482
|
exp += "#{@spec_spy.name} #{@spec_spy.version} built to #{@spec_spy.gem_file}\n"
|
504
483
|
assert_equal exp, @stdout.read
|
505
484
|
|
506
|
-
ENV[
|
485
|
+
ENV["DEBUG"] = nil
|
507
486
|
end
|
508
487
|
|
509
488
|
should "handle cmd errors when run" do
|
@@ -513,7 +492,6 @@ class GGem::CLI
|
|
513
492
|
assert_raises(CommandExitError){ subject.run([], @stdout, @stderr) }
|
514
493
|
assert_equal "#{err_msg}\n", @stderr.read
|
515
494
|
end
|
516
|
-
|
517
495
|
end
|
518
496
|
|
519
497
|
class InstallCommandTests < IOCommandTests
|
@@ -550,18 +528,18 @@ class GGem::CLI
|
|
550
528
|
end
|
551
529
|
|
552
530
|
should "run the build command and call the spec's run install cmds when run" do
|
553
|
-
ENV[
|
531
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
554
532
|
subject.run(@argv, @stdout, @stderr)
|
555
533
|
|
556
534
|
assert_true @build_spy.run_called
|
557
535
|
assert_equal [], @build_spy.argv
|
558
536
|
assert_true @spec_spy.run_install_cmd_called
|
559
537
|
|
560
|
-
exp = ENV[
|
538
|
+
exp = ENV["DEBUG"] == "1" ? "install\ninstall cmd was run\n" : ""
|
561
539
|
exp += "#{@spec_spy.name} #{@spec_spy.version} installed to system gems\n"
|
562
540
|
assert_includes exp, @stdout.read
|
563
541
|
|
564
|
-
ENV[
|
542
|
+
ENV["DEBUG"] = nil
|
565
543
|
end
|
566
544
|
|
567
545
|
should "handle cmd errors when run" do
|
@@ -571,7 +549,6 @@ class GGem::CLI
|
|
571
549
|
assert_raises(CommandExitError){ subject.run(@argv, @stdout, @stderr) }
|
572
550
|
assert_equal "#{err_msg}\n", @stderr.read
|
573
551
|
end
|
574
|
-
|
575
552
|
end
|
576
553
|
|
577
554
|
class PushCommandTests < IOCommandTests
|
@@ -608,7 +585,7 @@ class GGem::CLI
|
|
608
585
|
end
|
609
586
|
|
610
587
|
should "run the build command and call the spec's run push cmds when run" do
|
611
|
-
ENV[
|
588
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
612
589
|
subject.run(@argv, @stdout, @stderr)
|
613
590
|
|
614
591
|
assert_true @build_spy.run_called
|
@@ -616,11 +593,11 @@ class GGem::CLI
|
|
616
593
|
assert_true @spec_spy.run_push_cmd_called
|
617
594
|
|
618
595
|
exp = "Pushing #{@spec_spy.gem_file_name} to #{@spec_spy.push_host}...\n"
|
619
|
-
exp += ENV[
|
596
|
+
exp += ENV["DEBUG"] == "1" ? "push\npush cmd was run\n" : ""
|
620
597
|
exp += "#{@spec_spy.gem_file_name} received.\n"
|
621
598
|
assert_equal exp, @stdout.read
|
622
599
|
|
623
|
-
ENV[
|
600
|
+
ENV["DEBUG"] = nil
|
624
601
|
end
|
625
602
|
|
626
603
|
should "handle cmd errors when run" do
|
@@ -630,7 +607,6 @@ class GGem::CLI
|
|
630
607
|
assert_raises(CommandExitError){ subject.run(@argv, @stdout, @stderr) }
|
631
608
|
assert_equal "#{err_msg}\n", @stderr.read
|
632
609
|
end
|
633
|
-
|
634
610
|
end
|
635
611
|
|
636
612
|
class ForceTagOptionCommandTests < IOCommandTests
|
@@ -645,10 +621,9 @@ class GGem::CLI
|
|
645
621
|
end
|
646
622
|
|
647
623
|
should "add a force-tag CLIRB option" do
|
648
|
-
subject.run([
|
649
|
-
assert_true subject.clirb.opts[
|
624
|
+
subject.run(["-f"], @stdout, @stderr)
|
625
|
+
assert_true subject.clirb.opts["force-tag"]
|
650
626
|
end
|
651
|
-
|
652
627
|
end
|
653
628
|
|
654
629
|
class TagCommandTests < IOCommandTests
|
@@ -681,7 +656,7 @@ class GGem::CLI
|
|
681
656
|
end
|
682
657
|
|
683
658
|
should "call the repo's run build/push cmds when run" do
|
684
|
-
ENV[
|
659
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
685
660
|
subject.run([], @stdout, @stderr)
|
686
661
|
|
687
662
|
assert_true @repo_spy.run_validate_clean_cmd_called
|
@@ -693,19 +668,19 @@ class GGem::CLI
|
|
693
668
|
assert_true @repo_spy.run_push_cmd_called
|
694
669
|
assert_nil @repo_spy.run_rm_tag_cmd_called_with
|
695
670
|
|
696
|
-
exp = if ENV[
|
671
|
+
exp = if ENV["DEBUG"] == "1"
|
697
672
|
"validate clean\nvalidate clean cmd was run\n" \
|
698
673
|
"validate committed\nvalidate committed cmd was run\n" \
|
699
674
|
"add tag\nadd tag cmd was run\n"
|
700
675
|
else
|
701
|
-
|
676
|
+
""
|
702
677
|
end
|
703
678
|
exp += "Tagged #{@spec_spy.version_tag}.\n"
|
704
|
-
exp += ENV[
|
679
|
+
exp += ENV["DEBUG"] == "1" ? "push\npush cmd was run\n" : ""
|
705
680
|
exp += "Pushed git commits and tags.\n"
|
706
681
|
assert_equal exp, @stdout.read
|
707
682
|
|
708
|
-
ENV[
|
683
|
+
ENV["DEBUG"] = nil
|
709
684
|
end
|
710
685
|
|
711
686
|
should "handle validation cmd errors when run" do
|
@@ -723,7 +698,7 @@ class GGem::CLI
|
|
723
698
|
err_on = [:run_validate_clean_cmd, :run_validate_committed_cmd].sample
|
724
699
|
Assert.stub(@repo_spy, err_on){ raise GGem::GitRepo::CmdError, err_msg }
|
725
700
|
|
726
|
-
subject.run([[
|
701
|
+
subject.run([["--force-tag", "-f"].sample], @stdout, @stderr)
|
727
702
|
exp = "There are files that need to be committed first.\n" \
|
728
703
|
"Forcing tag anyway...\n"
|
729
704
|
assert_equal exp, @stderr.read
|
@@ -757,7 +732,6 @@ class GGem::CLI
|
|
757
732
|
assert_raises(CommandExitError){ subject.run([], @stdout, @stderr) }
|
758
733
|
assert_equal "#{err_msg}\n", @stderr.read
|
759
734
|
end
|
760
|
-
|
761
735
|
end
|
762
736
|
|
763
737
|
class ReleaseCommandTests < IOCommandTests
|
@@ -812,16 +786,15 @@ class GGem::CLI
|
|
812
786
|
end
|
813
787
|
|
814
788
|
should "pass any force-tag option to the tag cmd but not the release cmd" do
|
815
|
-
force_tag_argv = [[
|
789
|
+
force_tag_argv = [["--force-tag", "-f"].sample]
|
816
790
|
subject.run(force_tag_argv, @stdout, @stderr)
|
817
791
|
|
818
792
|
assert_true @tag_spy.run_called
|
819
|
-
assert_equal [
|
793
|
+
assert_equal ["--force-tag"], @tag_spy.argv
|
820
794
|
|
821
795
|
assert_true @push_spy.run_called
|
822
796
|
assert_equal [], @push_spy.argv
|
823
797
|
end
|
824
|
-
|
825
798
|
end
|
826
799
|
|
827
800
|
class CommandSetTests < UnitTests
|
@@ -836,41 +809,41 @@ class GGem::CLI
|
|
836
809
|
|
837
810
|
should "add/rm commands, be able to look them up and know its size" do
|
838
811
|
assert_equal 0, subject.size
|
839
|
-
assert_equal
|
812
|
+
assert_equal "", subject.to_s
|
840
813
|
|
841
|
-
subject.add(CommandSpy,
|
814
|
+
subject.add(CommandSpy, "test", "t", "tst")
|
842
815
|
assert_equal 1, subject.size
|
843
816
|
|
844
|
-
assert_instance_of CommandSpy, subject[
|
845
|
-
assert_same subject[
|
846
|
-
assert_same subject[
|
817
|
+
assert_instance_of CommandSpy, subject["test"]
|
818
|
+
assert_same subject["test"], subject["t"]
|
819
|
+
assert_same subject["test"], subject["tst"]
|
847
820
|
|
848
|
-
exp_strs = ["test (t, tst) # #{subject[
|
821
|
+
exp_strs = ["test (t, tst) # #{subject["test"].summary}"]
|
849
822
|
assert_equal exp_strs.join("\n"), subject.to_s
|
850
823
|
|
851
|
-
subject.add(CommandSpy,
|
852
|
-
exp_strs << "add1 # #{subject[
|
824
|
+
subject.add(CommandSpy, "add1")
|
825
|
+
exp_strs << "add1 # #{subject["add1"].summary}"
|
853
826
|
|
854
827
|
@cmd_spy = CommandSpy.new
|
855
|
-
Assert.stub(@cmd_spy, :summary){ [nil,
|
828
|
+
Assert.stub(@cmd_spy, :summary){ [nil, ""].sample }
|
856
829
|
Assert.stub(CommandSpy, :new){ @cmd_spy }
|
857
830
|
|
858
|
-
subject.add(CommandSpy,
|
831
|
+
subject.add(CommandSpy, "add2", "add")
|
859
832
|
exp_strs << "add2 (add) "
|
860
833
|
|
861
|
-
subject.add(CommandSpy,
|
862
|
-
Assert.stub(subject[
|
834
|
+
subject.add(CommandSpy, "add3")
|
835
|
+
Assert.stub(subject["add3"], :summary){ [nil, ""].sample }
|
863
836
|
exp_strs << "add3 "
|
864
837
|
|
865
838
|
assert_equal exp_strs.join("\n"), subject.to_s
|
866
839
|
|
867
|
-
subject.remove(
|
868
|
-
subject.remove(
|
869
|
-
subject.remove(
|
870
|
-
subject.remove(
|
840
|
+
subject.remove("test")
|
841
|
+
subject.remove("add1")
|
842
|
+
subject.remove("add2")
|
843
|
+
subject.remove("add3")
|
871
844
|
|
872
845
|
assert_equal 0, subject.size
|
873
|
-
assert_equal
|
846
|
+
assert_equal "", subject.to_s
|
874
847
|
end
|
875
848
|
|
876
849
|
should "call the given block when looking up unknown command names" do
|
@@ -878,7 +851,6 @@ class GGem::CLI
|
|
878
851
|
subject[unknown_cmd_name]
|
879
852
|
assert_equal [unknown_cmd_name], @unknown_cmd_block_called_with
|
880
853
|
end
|
881
|
-
|
882
854
|
end
|
883
855
|
|
884
856
|
class CLISpy
|
@@ -991,19 +963,18 @@ class GGem::CLI
|
|
991
963
|
|
992
964
|
def run_build_cmd
|
993
965
|
@run_build_cmd_called = true
|
994
|
-
[
|
966
|
+
["build", 0, "build cmd was run"]
|
995
967
|
end
|
996
968
|
|
997
969
|
def run_install_cmd
|
998
970
|
@run_install_cmd_called = true
|
999
|
-
[
|
971
|
+
["install", 0, "install cmd was run"]
|
1000
972
|
end
|
1001
973
|
|
1002
974
|
def run_push_cmd
|
1003
975
|
@run_push_cmd_called = true
|
1004
|
-
[
|
976
|
+
["push", 0, "push cmd was run"]
|
1005
977
|
end
|
1006
|
-
|
1007
978
|
end
|
1008
979
|
|
1009
980
|
class GitRepoSpy
|
@@ -1029,34 +1000,32 @@ class GGem::CLI
|
|
1029
1000
|
|
1030
1001
|
def run_init_cmd
|
1031
1002
|
@run_init_cmd_called = true
|
1032
|
-
[
|
1003
|
+
["init", 0, "init cmd was run"]
|
1033
1004
|
end
|
1034
1005
|
|
1035
1006
|
def run_validate_clean_cmd
|
1036
1007
|
@run_validate_clean_cmd_called = true
|
1037
|
-
[
|
1008
|
+
["validate clean", 0, "validate clean cmd was run"]
|
1038
1009
|
end
|
1039
1010
|
|
1040
1011
|
def run_validate_committed_cmd
|
1041
1012
|
@run_validate_committed_cmd_called = true
|
1042
|
-
[
|
1013
|
+
["validate committed", 0, "validate committed cmd was run"]
|
1043
1014
|
end
|
1044
1015
|
|
1045
1016
|
def run_add_version_tag_cmd(*args)
|
1046
1017
|
@run_add_version_tag_cmd_called_with = args
|
1047
|
-
[
|
1018
|
+
["add tag", 0, "add tag cmd was run"]
|
1048
1019
|
end
|
1049
1020
|
|
1050
1021
|
def run_rm_tag_cmd(*args)
|
1051
1022
|
@run_rm_tag_cmd_called_with = args
|
1052
|
-
[
|
1023
|
+
["rm tag", 0, "rm tag cmd was run"]
|
1053
1024
|
end
|
1054
1025
|
|
1055
1026
|
def run_push_cmd
|
1056
1027
|
@run_push_cmd_called = true
|
1057
|
-
[
|
1028
|
+
["push", 0, "push cmd was run"]
|
1058
1029
|
end
|
1059
|
-
|
1060
1030
|
end
|
1061
|
-
|
1062
1031
|
end
|