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.
@@ -1,15 +1,14 @@
1
- require 'assert'
2
- require 'ggem/cli'
1
+ require "assert"
2
+ require "ggem/cli"
3
3
 
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'
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['generate']
37
- assert_instance_of BuildCommand, COMMANDS['build']
38
- assert_instance_of InstallCommand, COMMANDS['install']
39
- assert_instance_of PushCommand, COMMANDS['push']
40
- assert_instance_of TagCommand, COMMANDS['tag']
41
- assert_instance_of ReleaseCommand, COMMANDS['release']
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['generate'], COMMANDS['g']
44
- assert_same COMMANDS['build'], COMMANDS['b']
45
- assert_same COMMANDS['install'], COMMANDS['i']
46
- assert_same COMMANDS['push'], COMMANDS['p']
47
- assert_same COMMANDS['tag'], COMMANDS['t']
48
- assert_same COMMANDS['release'], COMMANDS['r']
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 = CommandSpy.new
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 = "'#{@name}' is not a command.\n\n"
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([ '--help' ])
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([ '--version' ])
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([ '--help' ]) }
230
- assert_raises(CLIRB::VersionExit){ subject.new.run([ '--version' ]) }
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, ''].sample)
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 'test', 'testing', :abbrev => 't'
270
+ option "test", "testing", :abbrev => "t"
284
271
  end
285
- cmd.run(['-t'], @stdout, @stderr)
286
- assert_true cmd.clirb.opts['test']
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 '', subject.summary
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('gem1')
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('gem1')
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['DEBUG'] = [nil, '1'].sample
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['DEBUG'] == '1' ? "build\nbuild cmd was run\n" : ''
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['DEBUG'] = nil
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['DEBUG'] = [nil, '1'].sample
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['DEBUG'] == '1' ? "install\ninstall cmd was run\n" : ''
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['DEBUG'] = nil
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['DEBUG'] = [nil, '1'].sample
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['DEBUG'] == '1' ? "push\npush cmd was run\n" : ''
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['DEBUG'] = nil
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(['-f'], @stdout, @stderr)
649
- assert_true subject.clirb.opts['force-tag']
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['DEBUG'] = [nil, '1'].sample
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['DEBUG'] == '1'
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['DEBUG'] == '1' ? "push\npush cmd was run\n" : ''
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['DEBUG'] = nil
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([['--force-tag', '-f'].sample], @stdout, @stderr)
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 = [['--force-tag', '-f'].sample]
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 ['--force-tag'], @tag_spy.argv
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 '', subject.to_s
812
+ assert_equal "", subject.to_s
840
813
 
841
- subject.add(CommandSpy, 'test', 't', 'tst')
814
+ subject.add(CommandSpy, "test", "t", "tst")
842
815
  assert_equal 1, subject.size
843
816
 
844
- assert_instance_of CommandSpy, subject['test']
845
- assert_same subject['test'], subject['t']
846
- assert_same subject['test'], subject['tst']
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['test'].summary}"]
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, 'add1')
852
- exp_strs << "add1 # #{subject['add1'].summary}"
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, ''].sample }
828
+ Assert.stub(@cmd_spy, :summary){ [nil, ""].sample }
856
829
  Assert.stub(CommandSpy, :new){ @cmd_spy }
857
830
 
858
- subject.add(CommandSpy, 'add2', 'add')
831
+ subject.add(CommandSpy, "add2", "add")
859
832
  exp_strs << "add2 (add) "
860
833
 
861
- subject.add(CommandSpy, 'add3')
862
- Assert.stub(subject['add3'], :summary){ [nil, ''].sample }
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('test')
868
- subject.remove('add1')
869
- subject.remove('add2')
870
- subject.remove('add3')
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 '', subject.to_s
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
- ['build', 0, 'build cmd was run']
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
- ['install', 0, 'install cmd was run']
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
- ['push', 0, 'push cmd was run']
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
- ['init', 0, 'init cmd was run']
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
- ['validate clean', 0, 'validate clean cmd was run']
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
- ['validate committed', 0, 'validate committed cmd was run']
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
- ['add tag', 0, 'add tag cmd was run']
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
- ['rm tag', 0, 'rm tag cmd was run']
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
- ['push', 0, 'push cmd was run']
1028
+ ["push", 0, "push cmd was run"]
1058
1029
  end
1059
-
1060
1030
  end
1061
-
1062
1031
  end