ggem 1.8.3 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|