jeweler 0.11.0 → 0.11.1
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.
- data/ChangeLog.markdown +8 -0
- data/README.markdown +2 -4
- data/Rakefile +9 -4
- data/VERSION.yml +2 -2
- data/lib/jeweler/generator.rb +39 -108
- data/lib/jeweler/generator/application.rb +8 -3
- data/lib/jeweler/generator/bacon_mixin.rb +39 -0
- data/lib/jeweler/generator/micronaut_mixin.rb +38 -0
- data/lib/jeweler/generator/minitest_mixin.rb +39 -0
- data/lib/jeweler/generator/options.rb +5 -1
- data/lib/jeweler/generator/rspec_mixin.rb +39 -0
- data/lib/jeweler/generator/shoulda_mixin.rb +39 -0
- data/lib/jeweler/generator/testunit_mixin.rb +39 -0
- data/lib/jeweler/templates/README.rdoc +1 -1
- data/lib/jeweler/templates/Rakefile +26 -26
- data/lib/jeweler/templates/bacon/helper.rb +1 -1
- data/lib/jeweler/templates/features/support/env.rb +4 -7
- data/lib/jeweler/templates/micronaut/helper.rb +1 -1
- data/lib/jeweler/templates/minitest/helper.rb +1 -1
- data/lib/jeweler/templates/rspec/helper.rb +1 -1
- data/lib/jeweler/templates/shoulda/helper.rb +1 -1
- data/lib/jeweler/templates/testunit/helper.rb +1 -1
- data/test/test_application.rb +26 -0
- data/test/test_gemspec_helper.rb +4 -0
- data/test/test_generator.rb +80 -113
- data/test/test_generator_initialization.rb +113 -0
- data/test/test_generator_mixins.rb +18 -0
- data/test/test_helper.rb +1 -0
- data/test/test_options.rb +6 -0
- data/test/version_tmp/VERSION.yml +1 -1
- metadata +23 -5
- data/test/generators/initialization_test.rb +0 -146
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestGeneratorInitialization < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@project_name = 'the-perfect-gem'
|
6
|
+
@git_name = 'foo'
|
7
|
+
@git_email = 'bar@example.com'
|
8
|
+
@github_user = 'technicalpickles'
|
9
|
+
@github_token = 'zomgtoken'
|
10
|
+
end
|
11
|
+
|
12
|
+
def stub_git_config(options = {})
|
13
|
+
stub.instance_of(Git::Lib).parse_config('~/.gitconfig') { options }
|
14
|
+
end
|
15
|
+
|
16
|
+
context "given a nil github repo name" do
|
17
|
+
setup do
|
18
|
+
stub_git_config
|
19
|
+
|
20
|
+
@block = lambda { }
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'raise NoGithubRepoNameGiven' do
|
24
|
+
assert_raise Jeweler::NoGitHubRepoNameGiven do
|
25
|
+
Jeweler::Generator.new(nil)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "without git user's name set" do
|
31
|
+
setup do
|
32
|
+
stub_git_config 'user.email' => @git_email
|
33
|
+
end
|
34
|
+
|
35
|
+
should 'raise an NoGitUserName' do
|
36
|
+
assert_raise Jeweler::NoGitUserName do
|
37
|
+
Jeweler::Generator.new(@project_name)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context "without git user's email set" do
|
43
|
+
setup do
|
44
|
+
stub_git_config 'user.name' => @git_name
|
45
|
+
end
|
46
|
+
|
47
|
+
should 'raise NoGitUserName' do
|
48
|
+
assert_raise Jeweler::NoGitUserEmail do
|
49
|
+
Jeweler::Generator.new(@project_name)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context "without github username set" do
|
55
|
+
setup do
|
56
|
+
stub_git_config 'user.email' => @git_email, 'user.name' => @git_name
|
57
|
+
end
|
58
|
+
|
59
|
+
should 'raise NotGitHubUser' do
|
60
|
+
assert_raise Jeweler::NoGitHubUser do
|
61
|
+
Jeweler::Generator.new(@project_name)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
context "without github token set" do
|
67
|
+
setup do
|
68
|
+
stub_git_config 'user.name' => @git_name, 'user.email' => @git_email, 'github.user' => @github_user
|
69
|
+
end
|
70
|
+
|
71
|
+
should 'raise NoGitHubToken' do
|
72
|
+
assert_raise Jeweler::NoGitHubToken do
|
73
|
+
Jeweler::Generator.new(@project_name)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
context "with valid git user configuration" do
|
79
|
+
setup do
|
80
|
+
stub_git_config 'user.name' => @git_name, 'user.email' => @git_email, 'github.user' => @github_user, 'github.token' => @github_token
|
81
|
+
end
|
82
|
+
|
83
|
+
context "for technicalpickle's the-perfect-gem repository" do
|
84
|
+
setup do
|
85
|
+
@generator = Jeweler::Generator.new(@project_name)
|
86
|
+
end
|
87
|
+
|
88
|
+
should "assign user's name from git config" do
|
89
|
+
assert_equal @git_name, @generator.user_name
|
90
|
+
end
|
91
|
+
|
92
|
+
should "assign email from git config" do
|
93
|
+
assert_equal @git_email, @generator.user_email
|
94
|
+
end
|
95
|
+
|
96
|
+
should "assign github remote" do
|
97
|
+
assert_equal 'git@github.com:technicalpickles/the-perfect-gem.git', @generator.git_remote
|
98
|
+
end
|
99
|
+
|
100
|
+
should "assign github username from git config" do
|
101
|
+
assert_equal @github_user, @generator.github_username
|
102
|
+
end
|
103
|
+
|
104
|
+
should "determine project name as the-perfect-gem" do
|
105
|
+
assert_equal @project_name, @generator.project_name
|
106
|
+
end
|
107
|
+
|
108
|
+
should "determine target directory as the same as the github repository name" do
|
109
|
+
assert_equal @generator.project_name, @generator.target_dir
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestGeneratorMixins < Test::Unit::TestCase
|
4
|
+
|
5
|
+
[Jeweler::Generator::BaconMixin, Jeweler::Generator::MicronautMixin,
|
6
|
+
Jeweler::Generator::RspecMixin, Jeweler::Generator::ShouldaMixin,
|
7
|
+
Jeweler::Generator::TestunitMixin, Jeweler::Generator::MinitestMixin].each do |mixin|
|
8
|
+
context "#{mixin}" do
|
9
|
+
%w(default_task feature_support_require feature_support_extend
|
10
|
+
test_dir test_task test_pattern test_filename
|
11
|
+
test_helper_filename).each do |method|
|
12
|
+
should "define #{method}" do
|
13
|
+
assert mixin.method_defined?(method)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/test/test_helper.rb
CHANGED
data/test/test_options.rb
CHANGED
@@ -93,6 +93,12 @@ class TestOptions < Test::Unit::TestCase
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
+
for_options '--zomg-invalid' do
|
97
|
+
should 'be an invalid argument' do
|
98
|
+
assert @options[:invalid_argument]
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
96
102
|
context "merging options" do
|
97
103
|
should "take options from each" do
|
98
104
|
options = Jeweler::Generator::Options.new(["--rspec"]).
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jeweler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Nichols
|
@@ -9,11 +9,21 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-04-
|
12
|
+
date: 2009-04-29 00:00:00 -04:00
|
13
13
|
default_executable: jeweler
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: schacon-git
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.1.1
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rubyforge
|
17
27
|
type: :runtime
|
18
28
|
version_requirement:
|
19
29
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -57,7 +67,13 @@ files:
|
|
57
67
|
- lib/jeweler/gemspec_helper.rb
|
58
68
|
- lib/jeweler/generator.rb
|
59
69
|
- lib/jeweler/generator/application.rb
|
70
|
+
- lib/jeweler/generator/bacon_mixin.rb
|
71
|
+
- lib/jeweler/generator/micronaut_mixin.rb
|
72
|
+
- lib/jeweler/generator/minitest_mixin.rb
|
60
73
|
- lib/jeweler/generator/options.rb
|
74
|
+
- lib/jeweler/generator/rspec_mixin.rb
|
75
|
+
- lib/jeweler/generator/shoulda_mixin.rb
|
76
|
+
- lib/jeweler/generator/testunit_mixin.rb
|
61
77
|
- lib/jeweler/specification.rb
|
62
78
|
- lib/jeweler/tasks.rb
|
63
79
|
- lib/jeweler/templates/.document
|
@@ -93,7 +109,6 @@ files:
|
|
93
109
|
- test/fixtures/existing-project-with-version/test/existing_project_with_version_test.rb
|
94
110
|
- test/fixtures/existing-project-with-version/test/test_helper.rb
|
95
111
|
- test/geminstaller.yml
|
96
|
-
- test/generators/initialization_test.rb
|
97
112
|
- test/jeweler/commands/test_build_gem.rb
|
98
113
|
- test/jeweler/commands/test_install_gem.rb
|
99
114
|
- test/jeweler/commands/test_release.rb
|
@@ -110,6 +125,8 @@ files:
|
|
110
125
|
- test/test_application.rb
|
111
126
|
- test/test_gemspec_helper.rb
|
112
127
|
- test/test_generator.rb
|
128
|
+
- test/test_generator_initialization.rb
|
129
|
+
- test/test_generator_mixins.rb
|
113
130
|
- test/test_helper.rb
|
114
131
|
- test/test_jeweler.rb
|
115
132
|
- test/test_options.rb
|
@@ -148,7 +165,6 @@ test_files:
|
|
148
165
|
- test/fixtures/existing-project-with-version/lib/existing_project_with_version.rb
|
149
166
|
- test/fixtures/existing-project-with-version/test/existing_project_with_version_test.rb
|
150
167
|
- test/fixtures/existing-project-with-version/test/test_helper.rb
|
151
|
-
- test/generators/initialization_test.rb
|
152
168
|
- test/jeweler/commands/test_build_gem.rb
|
153
169
|
- test/jeweler/commands/test_install_gem.rb
|
154
170
|
- test/jeweler/commands/test_release.rb
|
@@ -165,6 +181,8 @@ test_files:
|
|
165
181
|
- test/test_application.rb
|
166
182
|
- test/test_gemspec_helper.rb
|
167
183
|
- test/test_generator.rb
|
184
|
+
- test/test_generator_initialization.rb
|
185
|
+
- test/test_generator_mixins.rb
|
168
186
|
- test/test_helper.rb
|
169
187
|
- test/test_jeweler.rb
|
170
188
|
- test/test_options.rb
|
@@ -1,146 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
-
|
3
|
-
class JewelerGeneratorInitializerTest < Test::Unit::TestCase
|
4
|
-
context "given a nil github repo name" do
|
5
|
-
setup do
|
6
|
-
@block = lambda { Jeweler::Generator.new(nil) }
|
7
|
-
end
|
8
|
-
|
9
|
-
should "raise an error" do
|
10
|
-
assert_raise Jeweler::NoGitHubRepoNameGiven do
|
11
|
-
@block.call
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
context "without git user's name set" do
|
17
|
-
setup do
|
18
|
-
Jeweler::Generator.any_instance.stubs(:read_git_config).returns({'user.email' => 'bar@example.com'})
|
19
|
-
end
|
20
|
-
|
21
|
-
context "instantiating new generator" do
|
22
|
-
setup do
|
23
|
-
@block = lambda { Jeweler::Generator.new('the-perfect-gem')}
|
24
|
-
end
|
25
|
-
|
26
|
-
should "raise no git user name exception" do
|
27
|
-
assert_raise Jeweler::NoGitUserName do
|
28
|
-
@block.call
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
context "without git user's email set" do
|
35
|
-
setup do
|
36
|
-
Jeweler::Generator.any_instance.stubs(:read_git_config).returns({'user.name' => 'foo'})
|
37
|
-
end
|
38
|
-
|
39
|
-
context "instantiating new generator" do
|
40
|
-
setup do
|
41
|
-
@block = lambda { Jeweler::Generator.new('the-perfect-gem')}
|
42
|
-
end
|
43
|
-
|
44
|
-
should "raise no git user name exception" do
|
45
|
-
assert_raise Jeweler::NoGitUserEmail do
|
46
|
-
@block.call
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
context "without github username set" do
|
53
|
-
setup do
|
54
|
-
Jeweler::Generator.any_instance.stubs(:read_git_config).
|
55
|
-
returns({'user.email' => 'bar@example.com', 'user.name' => 'foo'})
|
56
|
-
end
|
57
|
-
|
58
|
-
context "instantiating new generator" do
|
59
|
-
setup do
|
60
|
-
@block = lambda { Jeweler::Generator.new('the-perfect-gem')}
|
61
|
-
end
|
62
|
-
|
63
|
-
should "raise no github user exception" do
|
64
|
-
assert_raise Jeweler::NoGitHubUser do
|
65
|
-
@block.call
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
context "without github token set" do
|
72
|
-
setup do
|
73
|
-
Jeweler::Generator.any_instance.stubs(:read_git_config).
|
74
|
-
returns({'user.email' => 'bar@example.com', 'user.name' => 'foo', 'github.user' => 'technicalpickles'})
|
75
|
-
end
|
76
|
-
|
77
|
-
context "instantiating new generator" do
|
78
|
-
setup do
|
79
|
-
@block = lambda { Jeweler::Generator.new('the-perfect-gem')}
|
80
|
-
end
|
81
|
-
|
82
|
-
should "raise no github user exception" do
|
83
|
-
assert_raise Jeweler::NoGitHubToken do
|
84
|
-
@block.call
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
context "with valid git user configuration" do
|
91
|
-
setup do
|
92
|
-
Jeweler::Generator.any_instance.stubs(:read_git_config).
|
93
|
-
returns({'user.name' => 'foo', 'user.email' => 'bar@example.com', 'github.user' => 'technicalpickles', 'github.token' => 'zomgtoken'})
|
94
|
-
end
|
95
|
-
|
96
|
-
context "for technicalpickle's the-perfect-gem repository" do
|
97
|
-
setup do
|
98
|
-
@generator = Jeweler::Generator.new('the-perfect-gem')
|
99
|
-
end
|
100
|
-
|
101
|
-
should "assign 'foo' to user's name" do
|
102
|
-
assert_equal 'foo', @generator.user_name
|
103
|
-
end
|
104
|
-
|
105
|
-
should "assign 'bar@example.com to user's email" do
|
106
|
-
assert_equal 'bar@example.com', @generator.user_email
|
107
|
-
end
|
108
|
-
|
109
|
-
should "assign github remote" do
|
110
|
-
assert_equal 'git@github.com:technicalpickles/the-perfect-gem.git', @generator.github_remote
|
111
|
-
end
|
112
|
-
|
113
|
-
should "determine github username as technicalpickles" do
|
114
|
-
assert_equal 'technicalpickles', @generator.github_username
|
115
|
-
end
|
116
|
-
|
117
|
-
should "determine github repository name as the-perfect-gem" do
|
118
|
-
assert_equal 'the-perfect-gem', @generator.github_repo_name
|
119
|
-
end
|
120
|
-
|
121
|
-
should "determine github url as http://github.com/technicalpickles/the-perfect-gem" do
|
122
|
-
assert_equal 'http://github.com/technicalpickles/the-perfect-gem', @generator.github_url
|
123
|
-
end
|
124
|
-
|
125
|
-
should "determine target directory as the same as the github repository name" do
|
126
|
-
assert_equal @generator.github_repo_name, @generator.target_dir
|
127
|
-
end
|
128
|
-
|
129
|
-
should "determine lib directory as being inside the target directory" do
|
130
|
-
assert_equal File.join(@generator.target_dir, 'lib'), @generator.lib_dir
|
131
|
-
end
|
132
|
-
|
133
|
-
should "determine test directory as being inside the target directory" do
|
134
|
-
assert_equal File.join(@generator.target_dir, 'test'), @generator.test_dir
|
135
|
-
end
|
136
|
-
|
137
|
-
should "determine constant name as ThePerfectGem" do
|
138
|
-
assert_equal 'ThePerfectGem', @generator.constant_name
|
139
|
-
end
|
140
|
-
|
141
|
-
should "determine file name prefix as the_perfect_gem" do
|
142
|
-
assert_equal 'the_perfect_gem', @generator.file_name_prefix
|
143
|
-
end
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|