ggem 1.8.4 → 1.9.0
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 +5 -2
- data/bin/ggem +1 -1
- data/ggem.gemspec +6 -4
- data/lib/ggem.rb +2 -2
- data/lib/ggem/cli.rb +10 -10
- data/lib/ggem/cli/clirb.rb +8 -8
- data/lib/ggem/cli/commands.rb +15 -15
- data/lib/ggem/gem.rb +6 -6
- data/lib/ggem/gemspec.rb +6 -6
- data/lib/ggem/git_repo.rb +2 -2
- data/lib/ggem/template.rb +21 -16
- data/lib/ggem/template_file/Gemfile.erb +1 -1
- data/lib/ggem/template_file/README.md.erb +2 -2
- data/lib/ggem/template_file/circleci_config.yml.erb +82 -0
- data/lib/ggem/template_file/gemspec.erb +3 -3
- data/lib/ggem/template_file/test_helper.rb.erb +2 -11
- data/lib/ggem/template_file/test_support_factory.rb.erb +1 -1
- data/lib/ggem/version.rb +1 -1
- data/log/.gitkeep +0 -0
- data/test/helper.rb +6 -15
- data/test/support/cmd_tests_helpers.rb +4 -4
- data/test/support/factory.rb +1 -1
- data/test/support/gem1/gem1.gemspec +1 -1
- data/test/support/gem2/gem2.gemspec +2 -2
- data/test/support/name_set.rb +26 -21
- data/test/system/ggem_tests.rb +7 -7
- data/test/unit/cli_tests.rb +77 -77
- data/test/unit/gem_tests.rb +2 -2
- data/test/unit/gemspec_tests.rb +18 -18
- data/test/unit/git_repo_tests.rb +2 -2
- metadata +62 -54
- data/.gitignore +0 -19
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require "<%= @gem.ruby_name %>/version"
|
5
5
|
|
@@ -11,14 +11,14 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.summary = "TODO: Write a gem summary"
|
12
12
|
gem.description = "TODO: Write a gem description"
|
13
13
|
gem.homepage = "TODO: homepage"
|
14
|
-
gem.license =
|
14
|
+
gem.license = "MIT"
|
15
15
|
|
16
16
|
gem.files = `git ls-files`.split($/)
|
17
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.add_development_dependency("assert", ["~> 2.16.
|
21
|
+
gem.add_development_dependency("assert", ["~> 2.16.5"])
|
22
22
|
# TODO: gem.add_dependency("gem-name", ["~> 0.0.0"])
|
23
23
|
|
24
24
|
end
|
@@ -5,17 +5,8 @@
|
|
5
5
|
$LOAD_PATH.unshift(File.expand_path("../..", __FILE__))
|
6
6
|
|
7
7
|
# require pry for debugging (`binding.pry`)
|
8
|
-
require
|
8
|
+
require "pry"
|
9
9
|
|
10
|
-
require
|
11
|
-
|
12
|
-
# 1.8.7 backfills
|
13
|
-
|
14
|
-
# Array#sample
|
15
|
-
if !(a = Array.new).respond_to?(:sample) && a.respond_to?(:choice)
|
16
|
-
class Array
|
17
|
-
alias_method :sample, :choice
|
18
|
-
end
|
19
|
-
end
|
10
|
+
require "test/support/factory"
|
20
11
|
|
21
12
|
# TODO: put test helpers here...
|
data/lib/ggem/version.rb
CHANGED
data/log/.gitkeep
ADDED
File without changes
|
data/test/helper.rb
CHANGED
@@ -2,22 +2,13 @@
|
|
2
2
|
# put any test helpers here
|
3
3
|
|
4
4
|
# add the root dir to the load path
|
5
|
-
require
|
6
|
-
ROOT_PATH = Pathname.new(File.expand_path(
|
5
|
+
require "pathname"
|
6
|
+
ROOT_PATH = Pathname.new(File.expand_path("../..", __FILE__))
|
7
7
|
$LOAD_PATH.unshift(ROOT_PATH.to_s)
|
8
|
-
TMP_PATH = ROOT_PATH.join(
|
9
|
-
TEST_SUPPORT_PATH = ROOT_PATH.join(
|
8
|
+
TMP_PATH = ROOT_PATH.join("tmp")
|
9
|
+
TEST_SUPPORT_PATH = ROOT_PATH.join("test/support")
|
10
10
|
|
11
11
|
# require pry for debugging (`binding.pry`)
|
12
|
-
require
|
12
|
+
require "pry"
|
13
13
|
|
14
|
-
require
|
15
|
-
|
16
|
-
# 1.8.7 backfills
|
17
|
-
|
18
|
-
# Array#sample
|
19
|
-
if !(a = Array.new).respond_to?(:sample) && a.respond_to?(:choice)
|
20
|
-
class Array
|
21
|
-
alias_method :sample, :choice
|
22
|
-
end
|
23
|
-
end
|
14
|
+
require "test/support/factory"
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "much-plugin"
|
2
|
+
require "scmd"
|
3
3
|
|
4
4
|
module GGem
|
5
5
|
|
@@ -8,7 +8,7 @@ module GGem
|
|
8
8
|
|
9
9
|
plugin_included do
|
10
10
|
setup do
|
11
|
-
ENV[
|
11
|
+
ENV["SCMD_TEST_MODE"] = "1"
|
12
12
|
|
13
13
|
@cmd_spy = nil
|
14
14
|
Scmd.reset
|
@@ -17,7 +17,7 @@ module GGem
|
|
17
17
|
end
|
18
18
|
teardown do
|
19
19
|
Scmd.reset
|
20
|
-
ENV.delete(
|
20
|
+
ENV.delete("SCMD_TEST_MODE")
|
21
21
|
end
|
22
22
|
|
23
23
|
private
|
data/test/support/factory.rb
CHANGED
@@ -6,9 +6,9 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = []
|
7
7
|
gem.summary = %q{Gem 2 summary}
|
8
8
|
gem.description = %q{Gem 2 description}
|
9
|
-
gem.license =
|
9
|
+
gem.license = "MIT"
|
10
10
|
|
11
|
-
gem.metadata[
|
11
|
+
gem.metadata["allowed_push_host"] = "http://gems.example.com"
|
12
12
|
|
13
13
|
gem.files = []
|
14
14
|
gem.executables = []
|
data/test/support/name_set.rb
CHANGED
@@ -5,20 +5,23 @@ module GGem
|
|
5
5
|
attr_reader :variations, :name, :module_name, :ruby_name
|
6
6
|
|
7
7
|
def expected_folders
|
8
|
-
[
|
9
|
-
|
8
|
+
[ "",
|
9
|
+
".circleci",
|
10
|
+
"lib",
|
10
11
|
"lib/#{@ruby_name}",
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
"test",
|
13
|
+
"test/support",
|
14
|
+
"test/system",
|
15
|
+
"test/unit",
|
16
|
+
"log",
|
17
|
+
"tmp"
|
17
18
|
]
|
18
19
|
end
|
19
20
|
|
20
21
|
def expected_files
|
21
|
-
[ ".
|
22
|
+
[ ".circleci/config.yml",
|
23
|
+
|
24
|
+
".gitignore",
|
22
25
|
"Gemfile",
|
23
26
|
"#{@name}.gemspec",
|
24
27
|
"README.md",
|
@@ -31,6 +34,8 @@ module GGem
|
|
31
34
|
"test/support/factory.rb",
|
32
35
|
|
33
36
|
"log/.gitkeep",
|
37
|
+
"test/system/.gitkeep",
|
38
|
+
"test/unit/.gitkeep",
|
34
39
|
"tmp/.gitkeep",
|
35
40
|
]
|
36
41
|
end
|
@@ -38,28 +43,28 @@ module GGem
|
|
38
43
|
|
39
44
|
class Simple < Base
|
40
45
|
def initialize
|
41
|
-
@variations = [
|
42
|
-
@name =
|
43
|
-
@module_name =
|
44
|
-
@ruby_name =
|
46
|
+
@variations = ["simple"]
|
47
|
+
@name = "simple"
|
48
|
+
@module_name = "Simple"
|
49
|
+
@ruby_name = "simple"
|
45
50
|
end
|
46
51
|
end
|
47
52
|
|
48
53
|
class Underscored < Base
|
49
54
|
def initialize
|
50
|
-
@variations = [
|
51
|
-
@name =
|
52
|
-
@module_name =
|
53
|
-
@ruby_name =
|
55
|
+
@variations = ["my_gem", "my__gem", "MyGem", "myGem", "My_Gem"]
|
56
|
+
@name = "my_gem"
|
57
|
+
@module_name = "MyGem"
|
58
|
+
@ruby_name = "my_gem"
|
54
59
|
end
|
55
60
|
end
|
56
61
|
|
57
62
|
class HyphenatedOther < Base
|
58
63
|
def initialize
|
59
|
-
@variations = [
|
60
|
-
@name =
|
61
|
-
@module_name =
|
62
|
-
@ruby_name =
|
64
|
+
@variations = ["my-gem"]
|
65
|
+
@name = "my-gem"
|
66
|
+
@module_name = "MyGem"
|
67
|
+
@ruby_name = "my-gem"
|
63
68
|
end
|
64
69
|
end
|
65
70
|
|
data/test/system/ggem_tests.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "assert"
|
2
|
+
require "ggem"
|
3
3
|
|
4
|
-
require
|
4
|
+
require "test/support/name_set"
|
5
5
|
|
6
6
|
module GGem
|
7
7
|
|
@@ -29,9 +29,9 @@ module GGem
|
|
29
29
|
def assert_gem_name_set(name_set)
|
30
30
|
name_set.variations.each do |variation|
|
31
31
|
the_gem = GGem::Gem.new(TMP_PATH, variation)
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
assert_equal name_set.name, the_gem.name
|
33
|
+
assert_equal name_set.module_name, the_gem.module_name
|
34
|
+
assert_equal name_set.ruby_name, the_gem.ruby_name
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -64,7 +64,7 @@ module GGem
|
|
64
64
|
paths = (folders + files).collect{ |p| File.join(TMP_PATH, name_set.name, p) }
|
65
65
|
|
66
66
|
paths.flatten.each do |path|
|
67
|
-
assert File.exists?(path), "
|
67
|
+
assert File.exists?(path), "`#{path}` does not exist"
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
data/test/unit/cli_tests.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
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
12
|
|
@@ -33,19 +33,19 @@ class GGem::CLI
|
|
33
33
|
|
34
34
|
assert_instance_of InvalidCommand, COMMANDS[Factory.string]
|
35
35
|
|
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[
|
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"]
|
42
42
|
|
43
|
-
assert_same COMMANDS[
|
44
|
-
assert_same COMMANDS[
|
45
|
-
assert_same COMMANDS[
|
46
|
-
assert_same COMMANDS[
|
47
|
-
assert_same COMMANDS[
|
48
|
-
assert_same COMMANDS[
|
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"]
|
49
49
|
end
|
50
50
|
|
51
51
|
end
|
@@ -125,7 +125,7 @@ class GGem::CLI
|
|
125
125
|
end
|
126
126
|
|
127
127
|
should "output that it is invalid and output the invalid command's help" do
|
128
|
-
exp = "
|
128
|
+
exp = "`#{@name}` is not a command.\n\n"
|
129
129
|
assert_equal exp, @stderr.read
|
130
130
|
assert_equal @invalid_command.help, @stdout.read
|
131
131
|
end
|
@@ -153,7 +153,7 @@ class GGem::CLI
|
|
153
153
|
class RunWithHelpTests < RunSetupTests
|
154
154
|
desc "and run with the help switch"
|
155
155
|
setup do
|
156
|
-
@cli.run([
|
156
|
+
@cli.run([ "--help" ])
|
157
157
|
end
|
158
158
|
|
159
159
|
should "output the invalid command's help" do
|
@@ -170,7 +170,7 @@ class GGem::CLI
|
|
170
170
|
class RunWithVersionTests < RunSetupTests
|
171
171
|
desc "and run with the version switch"
|
172
172
|
setup do
|
173
|
-
@cli.run([
|
173
|
+
@cli.run([ "--version" ])
|
174
174
|
end
|
175
175
|
|
176
176
|
should "have output its version" do
|
@@ -226,12 +226,12 @@ class GGem::CLI
|
|
226
226
|
end
|
227
227
|
|
228
228
|
should "parse its argv on run" do
|
229
|
-
assert_raises(CLIRB::HelpExit){ subject.new.run([
|
230
|
-
assert_raises(CLIRB::VersionExit){ subject.new.run([
|
229
|
+
assert_raises(CLIRB::HelpExit){ subject.new.run([ "--help" ]) }
|
230
|
+
assert_raises(CLIRB::VersionExit){ subject.new.run([ "--version" ]) }
|
231
231
|
end
|
232
232
|
|
233
233
|
should "raise a help exit if its name is empty" do
|
234
|
-
cmd = @command_class.new([nil,
|
234
|
+
cmd = @command_class.new([nil, ""].sample)
|
235
235
|
argv = [Factory.string, Factory.string]
|
236
236
|
assert_raises(CLIRB::HelpExit){ cmd.new.run(argv) }
|
237
237
|
end
|
@@ -280,14 +280,14 @@ class GGem::CLI
|
|
280
280
|
|
281
281
|
should "take custom CLIRB build procs" do
|
282
282
|
cmd = @command_class.new do
|
283
|
-
option
|
283
|
+
option "test", "testing", :abbrev => "t"
|
284
284
|
end
|
285
|
-
cmd.run([
|
286
|
-
assert_true cmd.clirb.opts[
|
285
|
+
cmd.run(["-t"], @stdout, @stderr)
|
286
|
+
assert_true cmd.clirb.opts["test"]
|
287
287
|
end
|
288
288
|
|
289
289
|
should "default its summary" do
|
290
|
-
assert_equal
|
290
|
+
assert_equal "", subject.summary
|
291
291
|
end
|
292
292
|
|
293
293
|
end
|
@@ -295,7 +295,7 @@ class GGem::CLI
|
|
295
295
|
class GitRepoCommandTests < IOCommandTests
|
296
296
|
desc "GitRepoCommand"
|
297
297
|
setup do
|
298
|
-
@gem1_root_path = TEST_SUPPORT_PATH.join(
|
298
|
+
@gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
|
299
299
|
Assert.stub(Dir, :pwd){ @gem1_root_path}
|
300
300
|
|
301
301
|
@command_class = Class.new{ include GitRepoCommand }
|
@@ -417,7 +417,7 @@ class GGem::CLI
|
|
417
417
|
class GemspecCommandTests < IOCommandTests
|
418
418
|
desc "GemspecCommand"
|
419
419
|
setup do
|
420
|
-
@gem1_root_path = TEST_SUPPORT_PATH.join(
|
420
|
+
@gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
|
421
421
|
Assert.stub(Dir, :pwd){ @gem1_root_path}
|
422
422
|
|
423
423
|
@command_class = Class.new{ include GemspecCommand }
|
@@ -494,16 +494,16 @@ class GGem::CLI
|
|
494
494
|
end
|
495
495
|
|
496
496
|
should "call the spec's run build cmd when run" do
|
497
|
-
ENV[
|
497
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
498
498
|
subject.run([], @stdout, @stderr)
|
499
499
|
|
500
500
|
assert_true @spec_spy.run_build_cmd_called
|
501
501
|
|
502
|
-
exp = ENV[
|
502
|
+
exp = ENV["DEBUG"] == "1" ? "build\nbuild cmd was run\n" : ""
|
503
503
|
exp += "#{@spec_spy.name} #{@spec_spy.version} built to #{@spec_spy.gem_file}\n"
|
504
504
|
assert_equal exp, @stdout.read
|
505
505
|
|
506
|
-
ENV[
|
506
|
+
ENV["DEBUG"] = nil
|
507
507
|
end
|
508
508
|
|
509
509
|
should "handle cmd errors when run" do
|
@@ -550,18 +550,18 @@ class GGem::CLI
|
|
550
550
|
end
|
551
551
|
|
552
552
|
should "run the build command and call the spec's run install cmds when run" do
|
553
|
-
ENV[
|
553
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
554
554
|
subject.run(@argv, @stdout, @stderr)
|
555
555
|
|
556
556
|
assert_true @build_spy.run_called
|
557
557
|
assert_equal [], @build_spy.argv
|
558
558
|
assert_true @spec_spy.run_install_cmd_called
|
559
559
|
|
560
|
-
exp = ENV[
|
560
|
+
exp = ENV["DEBUG"] == "1" ? "install\ninstall cmd was run\n" : ""
|
561
561
|
exp += "#{@spec_spy.name} #{@spec_spy.version} installed to system gems\n"
|
562
562
|
assert_includes exp, @stdout.read
|
563
563
|
|
564
|
-
ENV[
|
564
|
+
ENV["DEBUG"] = nil
|
565
565
|
end
|
566
566
|
|
567
567
|
should "handle cmd errors when run" do
|
@@ -608,7 +608,7 @@ class GGem::CLI
|
|
608
608
|
end
|
609
609
|
|
610
610
|
should "run the build command and call the spec's run push cmds when run" do
|
611
|
-
ENV[
|
611
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
612
612
|
subject.run(@argv, @stdout, @stderr)
|
613
613
|
|
614
614
|
assert_true @build_spy.run_called
|
@@ -616,11 +616,11 @@ class GGem::CLI
|
|
616
616
|
assert_true @spec_spy.run_push_cmd_called
|
617
617
|
|
618
618
|
exp = "Pushing #{@spec_spy.gem_file_name} to #{@spec_spy.push_host}...\n"
|
619
|
-
exp += ENV[
|
619
|
+
exp += ENV["DEBUG"] == "1" ? "push\npush cmd was run\n" : ""
|
620
620
|
exp += "#{@spec_spy.gem_file_name} received.\n"
|
621
621
|
assert_equal exp, @stdout.read
|
622
622
|
|
623
|
-
ENV[
|
623
|
+
ENV["DEBUG"] = nil
|
624
624
|
end
|
625
625
|
|
626
626
|
should "handle cmd errors when run" do
|
@@ -645,8 +645,8 @@ class GGem::CLI
|
|
645
645
|
end
|
646
646
|
|
647
647
|
should "add a force-tag CLIRB option" do
|
648
|
-
subject.run([
|
649
|
-
assert_true subject.clirb.opts[
|
648
|
+
subject.run(["-f"], @stdout, @stderr)
|
649
|
+
assert_true subject.clirb.opts["force-tag"]
|
650
650
|
end
|
651
651
|
|
652
652
|
end
|
@@ -681,7 +681,7 @@ class GGem::CLI
|
|
681
681
|
end
|
682
682
|
|
683
683
|
should "call the repo's run build/push cmds when run" do
|
684
|
-
ENV[
|
684
|
+
ENV["DEBUG"] = [nil, "1"].sample
|
685
685
|
subject.run([], @stdout, @stderr)
|
686
686
|
|
687
687
|
assert_true @repo_spy.run_validate_clean_cmd_called
|
@@ -693,19 +693,19 @@ class GGem::CLI
|
|
693
693
|
assert_true @repo_spy.run_push_cmd_called
|
694
694
|
assert_nil @repo_spy.run_rm_tag_cmd_called_with
|
695
695
|
|
696
|
-
exp = if ENV[
|
696
|
+
exp = if ENV["DEBUG"] == "1"
|
697
697
|
"validate clean\nvalidate clean cmd was run\n" \
|
698
698
|
"validate committed\nvalidate committed cmd was run\n" \
|
699
699
|
"add tag\nadd tag cmd was run\n"
|
700
700
|
else
|
701
|
-
|
701
|
+
""
|
702
702
|
end
|
703
703
|
exp += "Tagged #{@spec_spy.version_tag}.\n"
|
704
|
-
exp += ENV[
|
704
|
+
exp += ENV["DEBUG"] == "1" ? "push\npush cmd was run\n" : ""
|
705
705
|
exp += "Pushed git commits and tags.\n"
|
706
706
|
assert_equal exp, @stdout.read
|
707
707
|
|
708
|
-
ENV[
|
708
|
+
ENV["DEBUG"] = nil
|
709
709
|
end
|
710
710
|
|
711
711
|
should "handle validation cmd errors when run" do
|
@@ -723,7 +723,7 @@ class GGem::CLI
|
|
723
723
|
err_on = [:run_validate_clean_cmd, :run_validate_committed_cmd].sample
|
724
724
|
Assert.stub(@repo_spy, err_on){ raise GGem::GitRepo::CmdError, err_msg }
|
725
725
|
|
726
|
-
subject.run([[
|
726
|
+
subject.run([["--force-tag", "-f"].sample], @stdout, @stderr)
|
727
727
|
exp = "There are files that need to be committed first.\n" \
|
728
728
|
"Forcing tag anyway...\n"
|
729
729
|
assert_equal exp, @stderr.read
|
@@ -812,11 +812,11 @@ class GGem::CLI
|
|
812
812
|
end
|
813
813
|
|
814
814
|
should "pass any force-tag option to the tag cmd but not the release cmd" do
|
815
|
-
force_tag_argv = [[
|
815
|
+
force_tag_argv = [["--force-tag", "-f"].sample]
|
816
816
|
subject.run(force_tag_argv, @stdout, @stderr)
|
817
817
|
|
818
818
|
assert_true @tag_spy.run_called
|
819
|
-
assert_equal [
|
819
|
+
assert_equal ["--force-tag"], @tag_spy.argv
|
820
820
|
|
821
821
|
assert_true @push_spy.run_called
|
822
822
|
assert_equal [], @push_spy.argv
|
@@ -836,41 +836,41 @@ class GGem::CLI
|
|
836
836
|
|
837
837
|
should "add/rm commands, be able to look them up and know its size" do
|
838
838
|
assert_equal 0, subject.size
|
839
|
-
assert_equal
|
839
|
+
assert_equal "", subject.to_s
|
840
840
|
|
841
|
-
subject.add(CommandSpy,
|
841
|
+
subject.add(CommandSpy, "test", "t", "tst")
|
842
842
|
assert_equal 1, subject.size
|
843
843
|
|
844
|
-
assert_instance_of CommandSpy, subject[
|
845
|
-
assert_same subject[
|
846
|
-
assert_same subject[
|
844
|
+
assert_instance_of CommandSpy, subject["test"]
|
845
|
+
assert_same subject["test"], subject["t"]
|
846
|
+
assert_same subject["test"], subject["tst"]
|
847
847
|
|
848
|
-
exp_strs = ["test (t, tst) # #{subject[
|
848
|
+
exp_strs = ["test (t, tst) # #{subject["test"].summary}"]
|
849
849
|
assert_equal exp_strs.join("\n"), subject.to_s
|
850
850
|
|
851
|
-
subject.add(CommandSpy,
|
852
|
-
exp_strs << "add1 # #{subject[
|
851
|
+
subject.add(CommandSpy, "add1")
|
852
|
+
exp_strs << "add1 # #{subject["add1"].summary}"
|
853
853
|
|
854
854
|
@cmd_spy = CommandSpy.new
|
855
|
-
Assert.stub(@cmd_spy, :summary){ [nil,
|
855
|
+
Assert.stub(@cmd_spy, :summary){ [nil, ""].sample }
|
856
856
|
Assert.stub(CommandSpy, :new){ @cmd_spy }
|
857
857
|
|
858
|
-
subject.add(CommandSpy,
|
858
|
+
subject.add(CommandSpy, "add2", "add")
|
859
859
|
exp_strs << "add2 (add) "
|
860
860
|
|
861
|
-
subject.add(CommandSpy,
|
862
|
-
Assert.stub(subject[
|
861
|
+
subject.add(CommandSpy, "add3")
|
862
|
+
Assert.stub(subject["add3"], :summary){ [nil, ""].sample }
|
863
863
|
exp_strs << "add3 "
|
864
864
|
|
865
865
|
assert_equal exp_strs.join("\n"), subject.to_s
|
866
866
|
|
867
|
-
subject.remove(
|
868
|
-
subject.remove(
|
869
|
-
subject.remove(
|
870
|
-
subject.remove(
|
867
|
+
subject.remove("test")
|
868
|
+
subject.remove("add1")
|
869
|
+
subject.remove("add2")
|
870
|
+
subject.remove("add3")
|
871
871
|
|
872
872
|
assert_equal 0, subject.size
|
873
|
-
assert_equal
|
873
|
+
assert_equal "", subject.to_s
|
874
874
|
end
|
875
875
|
|
876
876
|
should "call the given block when looking up unknown command names" do
|
@@ -991,17 +991,17 @@ class GGem::CLI
|
|
991
991
|
|
992
992
|
def run_build_cmd
|
993
993
|
@run_build_cmd_called = true
|
994
|
-
[
|
994
|
+
["build", 0, "build cmd was run"]
|
995
995
|
end
|
996
996
|
|
997
997
|
def run_install_cmd
|
998
998
|
@run_install_cmd_called = true
|
999
|
-
[
|
999
|
+
["install", 0, "install cmd was run"]
|
1000
1000
|
end
|
1001
1001
|
|
1002
1002
|
def run_push_cmd
|
1003
1003
|
@run_push_cmd_called = true
|
1004
|
-
[
|
1004
|
+
["push", 0, "push cmd was run"]
|
1005
1005
|
end
|
1006
1006
|
|
1007
1007
|
end
|
@@ -1029,32 +1029,32 @@ class GGem::CLI
|
|
1029
1029
|
|
1030
1030
|
def run_init_cmd
|
1031
1031
|
@run_init_cmd_called = true
|
1032
|
-
[
|
1032
|
+
["init", 0, "init cmd was run"]
|
1033
1033
|
end
|
1034
1034
|
|
1035
1035
|
def run_validate_clean_cmd
|
1036
1036
|
@run_validate_clean_cmd_called = true
|
1037
|
-
[
|
1037
|
+
["validate clean", 0, "validate clean cmd was run"]
|
1038
1038
|
end
|
1039
1039
|
|
1040
1040
|
def run_validate_committed_cmd
|
1041
1041
|
@run_validate_committed_cmd_called = true
|
1042
|
-
[
|
1042
|
+
["validate committed", 0, "validate committed cmd was run"]
|
1043
1043
|
end
|
1044
1044
|
|
1045
1045
|
def run_add_version_tag_cmd(*args)
|
1046
1046
|
@run_add_version_tag_cmd_called_with = args
|
1047
|
-
[
|
1047
|
+
["add tag", 0, "add tag cmd was run"]
|
1048
1048
|
end
|
1049
1049
|
|
1050
1050
|
def run_rm_tag_cmd(*args)
|
1051
1051
|
@run_rm_tag_cmd_called_with = args
|
1052
|
-
[
|
1052
|
+
["rm tag", 0, "rm tag cmd was run"]
|
1053
1053
|
end
|
1054
1054
|
|
1055
1055
|
def run_push_cmd
|
1056
1056
|
@run_push_cmd_called = true
|
1057
|
-
[
|
1057
|
+
["push", 0, "push cmd was run"]
|
1058
1058
|
end
|
1059
1059
|
|
1060
1060
|
end
|