ggem 1.8.4 → 1.9.0
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 +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
|