mcornick-jeweler 1.2.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.
- data/.gitignore +9 -0
- data/ChangeLog.markdown +111 -0
- data/LICENSE +20 -0
- data/README.markdown +185 -0
- data/ROADMAP +12 -0
- data/Rakefile +103 -0
- data/VERSION.yml +4 -0
- data/bin/jeweler +8 -0
- data/features/generator/cucumber.feature +83 -0
- data/features/generator/directory_layout.feature +76 -0
- data/features/generator/dotdocument.feature +14 -0
- data/features/generator/env_options.feature +9 -0
- data/features/generator/git.feature +94 -0
- data/features/generator/license.feature +11 -0
- data/features/generator/rakefile.feature +151 -0
- data/features/generator/readme.feature +12 -0
- data/features/generator/test.feature +41 -0
- data/features/generator/test_helper.feature +49 -0
- data/features/placeholder.feature +5 -0
- data/features/step_definitions/debug_steps.rb +6 -0
- data/features/step_definitions/filesystem_steps.rb +68 -0
- data/features/step_definitions/generator_steps.rb +284 -0
- data/features/step_definitions/task_steps.rb +6 -0
- data/features/support/env.rb +29 -0
- data/features/tasks/build_gem.feature +9 -0
- data/features/tasks/version.feature +24 -0
- data/features/tasks/version_bumping.feature +33 -0
- data/jeweler.gemspec +225 -0
- data/lib/jeweler.rb +153 -0
- data/lib/jeweler/commands.rb +14 -0
- data/lib/jeweler/commands/build_gem.rb +31 -0
- data/lib/jeweler/commands/check_dependencies.rb +52 -0
- data/lib/jeweler/commands/install_gem.rb +40 -0
- data/lib/jeweler/commands/release.rb +86 -0
- data/lib/jeweler/commands/release_to_rubyforge.rb +51 -0
- data/lib/jeweler/commands/setup_rubyforge.rb +57 -0
- data/lib/jeweler/commands/validate_gemspec.rb +30 -0
- data/lib/jeweler/commands/version/base.rb +41 -0
- data/lib/jeweler/commands/version/bump_major.rb +13 -0
- data/lib/jeweler/commands/version/bump_minor.rb +12 -0
- data/lib/jeweler/commands/version/bump_patch.rb +14 -0
- data/lib/jeweler/commands/version/write.rb +12 -0
- data/lib/jeweler/commands/write_gemspec.rb +39 -0
- data/lib/jeweler/errors.rb +20 -0
- data/lib/jeweler/gemspec_helper.rb +79 -0
- data/lib/jeweler/generator.rb +306 -0
- data/lib/jeweler/generator/application.rb +54 -0
- data/lib/jeweler/generator/bacon_mixin.rb +43 -0
- data/lib/jeweler/generator/micronaut_mixin.rb +41 -0
- data/lib/jeweler/generator/minitest_mixin.rb +42 -0
- data/lib/jeweler/generator/options.rb +102 -0
- data/lib/jeweler/generator/rdoc_mixin.rb +9 -0
- data/lib/jeweler/generator/rspec_mixin.rb +42 -0
- data/lib/jeweler/generator/shoulda_mixin.rb +42 -0
- data/lib/jeweler/generator/testunit_mixin.rb +39 -0
- data/lib/jeweler/generator/yard_mixin.rb +14 -0
- data/lib/jeweler/rubyforge_tasks.rb +98 -0
- data/lib/jeweler/specification.rb +66 -0
- data/lib/jeweler/tasks.rb +135 -0
- data/lib/jeweler/templates/.document +5 -0
- data/lib/jeweler/templates/.gitignore +5 -0
- data/lib/jeweler/templates/LICENSE +20 -0
- data/lib/jeweler/templates/README.rdoc +18 -0
- data/lib/jeweler/templates/Rakefile +153 -0
- data/lib/jeweler/templates/bacon/flunking.rb +7 -0
- data/lib/jeweler/templates/bacon/helper.rb +8 -0
- data/lib/jeweler/templates/features/default.feature +9 -0
- data/lib/jeweler/templates/features/support/env.rb +8 -0
- data/lib/jeweler/templates/micronaut/flunking.rb +7 -0
- data/lib/jeweler/templates/micronaut/helper.rb +17 -0
- data/lib/jeweler/templates/minitest/flunking.rb +7 -0
- data/lib/jeweler/templates/minitest/helper.rb +11 -0
- data/lib/jeweler/templates/rspec/flunking.rb +7 -0
- data/lib/jeweler/templates/rspec/helper.rb +10 -0
- data/lib/jeweler/templates/shoulda/flunking.rb +7 -0
- data/lib/jeweler/templates/shoulda/helper.rb +10 -0
- data/lib/jeweler/templates/testunit/flunking.rb +7 -0
- data/lib/jeweler/templates/testunit/helper.rb +9 -0
- data/lib/jeweler/version_helper.rb +128 -0
- data/test/fixtures/bar/VERSION.yml +4 -0
- data/test/fixtures/bar/bin/foo_the_ultimate_bin +1 -0
- data/test/fixtures/bar/hey_include_me_in_gemspec +0 -0
- data/test/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -0
- data/test/fixtures/existing-project-with-version-plaintext/.document +5 -0
- data/test/fixtures/existing-project-with-version-plaintext/.gitignore +5 -0
- data/test/fixtures/existing-project-with-version-plaintext/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version-plaintext/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version-plaintext/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version-plaintext/VERSION +1 -0
- data/test/fixtures/existing-project-with-version-plaintext/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version-plaintext/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version-plaintext/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version-plaintext/test/test_helper.rb +10 -0
- data/test/fixtures/existing-project-with-version-yaml/.document +5 -0
- data/test/fixtures/existing-project-with-version-yaml/.gitignore +5 -0
- data/test/fixtures/existing-project-with-version-yaml/LICENSE +20 -0
- data/test/fixtures/existing-project-with-version-yaml/README.rdoc +7 -0
- data/test/fixtures/existing-project-with-version-yaml/Rakefile +82 -0
- data/test/fixtures/existing-project-with-version-yaml/VERSION.yml +4 -0
- data/test/fixtures/existing-project-with-version-yaml/bin/foo_the_ultimate_bin +0 -0
- data/test/fixtures/existing-project-with-version-yaml/existing-project-with-version.gemspec +29 -0
- data/test/fixtures/existing-project-with-version-yaml/lib/existing_project_with_version.rb +0 -0
- data/test/fixtures/existing-project-with-version-yaml/test/existing_project_with_version_test.rb +7 -0
- data/test/fixtures/existing-project-with-version-yaml/test/test_helper.rb +10 -0
- data/test/geminstaller.yml +12 -0
- data/test/jeweler/commands/test_build_gem.rb +72 -0
- data/test/jeweler/commands/test_install_gem.rb +74 -0
- data/test/jeweler/commands/test_release.rb +362 -0
- data/test/jeweler/commands/test_release_to_rubyforge.rb +157 -0
- data/test/jeweler/commands/test_setup_rubyforge.rb +182 -0
- data/test/jeweler/commands/test_validate_gemspec.rb +27 -0
- data/test/jeweler/commands/test_write_gemspec.rb +92 -0
- data/test/jeweler/commands/version/test_base.rb +32 -0
- data/test/jeweler/commands/version/test_bump_major.rb +22 -0
- data/test/jeweler/commands/version/test_bump_minor.rb +19 -0
- data/test/jeweler/commands/version/test_bump_patch.rb +20 -0
- data/test/jeweler/commands/version/test_write.rb +23 -0
- data/test/shoulda_macros/jeweler_macros.rb +35 -0
- data/test/test_application.rb +139 -0
- data/test/test_gemspec_helper.rb +40 -0
- data/test/test_generator.rb +166 -0
- data/test/test_generator_initialization.rb +156 -0
- data/test/test_generator_mixins.rb +18 -0
- data/test/test_helper.rb +159 -0
- data/test/test_jeweler.rb +174 -0
- data/test/test_options.rb +149 -0
- data/test/test_specification.rb +61 -0
- data/test/test_tasks.rb +35 -0
- data/test/test_version_helper.rb +153 -0
- metadata +283 -0
data/bin/jeweler
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
Feature: generating cucumber stories
|
2
|
+
In order to get started using cucumber in a project
|
3
|
+
A user should be able to
|
4
|
+
generate a project setup for their testing framework of choice
|
5
|
+
|
6
|
+
Scenario: sans cucumber setup
|
7
|
+
Given a working directory
|
8
|
+
And I have configured git sanely
|
9
|
+
And I do not want cucumber stories
|
10
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
11
|
+
|
12
|
+
And a file named 'the-perfect-gem/features/the-perfect-gem.feature' is not created
|
13
|
+
And a file named 'the-perfect-gem/features/support/env.rb' is not created
|
14
|
+
And a file named 'the-perfect-gem/features/steps/the-perfect-gem_steps.rb' is not created
|
15
|
+
|
16
|
+
Scenario: basic cucumber setup
|
17
|
+
Given a working directory
|
18
|
+
And I have configured git sanely
|
19
|
+
And I want cucumber stories
|
20
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
21
|
+
|
22
|
+
Then cucumber directories are created
|
23
|
+
|
24
|
+
And a file named 'the-perfect-gem/features/the-perfect-gem.feature' is created
|
25
|
+
And a file named 'the-perfect-gem/features/support/env.rb' is created
|
26
|
+
And a file named 'the-perfect-gem/features/step_definitions/the-perfect-gem_steps.rb' is created
|
27
|
+
|
28
|
+
And 'features/support/env.rb' requires 'the-perfect-gem'
|
29
|
+
|
30
|
+
Scenario: cucumber setup for bacon
|
31
|
+
Given a working directory
|
32
|
+
And I have configured git sanely
|
33
|
+
And I want cucumber stories
|
34
|
+
When I generate a bacon project named 'the-perfect-gem' that is 'zomg, so good'
|
35
|
+
|
36
|
+
Then 'features/support/env.rb' requires 'test/unit/assertions'
|
37
|
+
And cucumber world extends "Test::Unit::Assertions"
|
38
|
+
|
39
|
+
Scenario: cucumber setup for shoulda
|
40
|
+
Given a working directory
|
41
|
+
And I have configured git sanely
|
42
|
+
And I want cucumber stories
|
43
|
+
When I generate a shoulda project named 'the-perfect-gem' that is 'zomg, so good'
|
44
|
+
|
45
|
+
Then 'features/support/env.rb' requires 'test/unit/assertions'
|
46
|
+
And cucumber world extends "Test::Unit::Assertions"
|
47
|
+
|
48
|
+
Scenario: cucumber setup for testunit
|
49
|
+
Given a working directory
|
50
|
+
And I have configured git sanely
|
51
|
+
And I want cucumber stories
|
52
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
53
|
+
|
54
|
+
Then 'features/support/env.rb' requires 'test/unit/assertions'
|
55
|
+
And cucumber world extends "Test::Unit::Assertions"
|
56
|
+
|
57
|
+
Scenario: cucumber setup for minitest
|
58
|
+
Given a working directory
|
59
|
+
And I have configured git sanely
|
60
|
+
And I want cucumber stories
|
61
|
+
When I generate a minitest project named 'the-perfect-gem' that is 'zomg, so good'
|
62
|
+
|
63
|
+
Then 'features/support/env.rb' requires 'mini/test'
|
64
|
+
And cucumber world extends "Mini::Test::Assertions"
|
65
|
+
|
66
|
+
Scenario: cucumber setup for rspec
|
67
|
+
Given a working directory
|
68
|
+
And I have configured git sanely
|
69
|
+
And I want cucumber stories
|
70
|
+
When I generate a rspec project named 'the-perfect-gem' that is 'zomg, so good'
|
71
|
+
|
72
|
+
Then 'features/support/env.rb' requires 'the-perfect-gem'
|
73
|
+
And 'features/support/env.rb' requires 'spec/expectations'
|
74
|
+
|
75
|
+
Scenario: cucumber setup for mirconaut
|
76
|
+
Given a working directory
|
77
|
+
And I have configured git sanely
|
78
|
+
And I want cucumber stories
|
79
|
+
When I generate a micronaut project named 'the-perfect-gem' that is 'zomg, so good'
|
80
|
+
|
81
|
+
Then 'features/support/env.rb' requires 'the-perfect-gem'
|
82
|
+
And 'features/support/env.rb' requires 'micronaut/expectations'
|
83
|
+
And cucumber world extends "Micronaut::Matchers"
|
@@ -0,0 +1,76 @@
|
|
1
|
+
Feature: generated directory layout
|
2
|
+
In order to start a new gem
|
3
|
+
A user should be able to
|
4
|
+
generate a directory layout
|
5
|
+
|
6
|
+
Scenario: shared
|
7
|
+
Given a working directory
|
8
|
+
And I have configured git sanely
|
9
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
10
|
+
|
11
|
+
Then a directory named 'the-perfect-gem' is created
|
12
|
+
And a directory named 'the-perfect-gem/lib' is created
|
13
|
+
|
14
|
+
And a file named 'the-perfect-gem/README.rdoc' is created
|
15
|
+
And a file named 'the-perfect-gem/.document' is created
|
16
|
+
And a file named 'the-perfect-gem/lib/the-perfect-gem.rb' is created
|
17
|
+
|
18
|
+
Scenario: bacon
|
19
|
+
Given a working directory
|
20
|
+
And I have configured git sanely
|
21
|
+
When I generate a bacon project named 'the-perfect-gem' that is 'zomg, so good'
|
22
|
+
|
23
|
+
Then a directory named 'the-perfect-gem/spec' is created
|
24
|
+
|
25
|
+
And a file named 'the-perfect-gem/spec/spec_helper.rb' is created
|
26
|
+
And a file named 'the-perfect-gem/spec/the-perfect-gem_spec.rb' is created
|
27
|
+
|
28
|
+
Scenario: minitest
|
29
|
+
Given a working directory
|
30
|
+
And I have configured git sanely
|
31
|
+
When I generate a minitest project named 'the-perfect-gem' that is 'zomg, so good'
|
32
|
+
|
33
|
+
Then a directory named 'the-perfect-gem/test' is created
|
34
|
+
|
35
|
+
And a file named 'the-perfect-gem/test/test_helper.rb' is created
|
36
|
+
And a file named 'the-perfect-gem/test/the-perfect-gem_test.rb' is created
|
37
|
+
|
38
|
+
Scenario: rspec
|
39
|
+
Given a working directory
|
40
|
+
And I have configured git sanely
|
41
|
+
When I generate a rspec project named 'the-perfect-gem' that is 'zomg, so good'
|
42
|
+
|
43
|
+
Then a directory named 'the-perfect-gem/spec' is created
|
44
|
+
|
45
|
+
And a file named 'the-perfect-gem/spec/spec_helper.rb' is created
|
46
|
+
And a file named 'the-perfect-gem/spec/the-perfect-gem_spec.rb' is created
|
47
|
+
|
48
|
+
Scenario: shoulda
|
49
|
+
Given a working directory
|
50
|
+
And I have configured git sanely
|
51
|
+
When I generate a shoulda project named 'the-perfect-gem' that is 'zomg, so good'
|
52
|
+
|
53
|
+
Then a directory named 'the-perfect-gem/test' is created
|
54
|
+
|
55
|
+
And a file named 'the-perfect-gem/test/test_helper.rb' is created
|
56
|
+
And a file named 'the-perfect-gem/test/the-perfect-gem_test.rb' is created
|
57
|
+
|
58
|
+
Scenario: testunit
|
59
|
+
Given a working directory
|
60
|
+
And I have configured git sanely
|
61
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
62
|
+
|
63
|
+
Then a directory named 'the-perfect-gem/test' is created
|
64
|
+
|
65
|
+
And a file named 'the-perfect-gem/test/test_helper.rb' is created
|
66
|
+
And a file named 'the-perfect-gem/test/the-perfect-gem_test.rb' is created
|
67
|
+
|
68
|
+
Scenario: micronaut
|
69
|
+
Given a working directory
|
70
|
+
And I have configured git sanely
|
71
|
+
When I generate a micronaut project named 'the-perfect-gem' that is 'zomg, so good'
|
72
|
+
|
73
|
+
Then a directory named 'the-perfect-gem/examples' is created
|
74
|
+
|
75
|
+
And a file named 'the-perfect-gem/examples/example_helper.rb' is created
|
76
|
+
And a file named 'the-perfect-gem/examples/the-perfect-gem_example.rb' is created
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Feature: generated .document
|
2
|
+
In order to easily generate RDoc
|
3
|
+
A user should be able to
|
4
|
+
generate reasonable .document file
|
5
|
+
|
6
|
+
Scenario: .document
|
7
|
+
Given a working directory
|
8
|
+
And I have configured git sanely
|
9
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
10
|
+
Then '.document' contains 'README.rdoc'
|
11
|
+
And '.document' contains 'lib/**/*.rb'
|
12
|
+
And '.document' contains 'bin/*'
|
13
|
+
And '.document' contains 'features/**/*.feature'
|
14
|
+
And '.document' contains 'LICENSE'
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Feature: Getting options from environment variable
|
2
|
+
In order to avoid having to type --rspec over and over
|
3
|
+
A user will need to set up a JEWELER_OPTS environment variable
|
4
|
+
|
5
|
+
Scenario: Environment variable set
|
6
|
+
Given a working directory
|
7
|
+
And I set JEWELER_OPTS env variable to "--rspec"
|
8
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
9
|
+
Then 'spec/the-perfect-gem_spec.rb' should describe 'ThePerfectGem'
|
@@ -0,0 +1,94 @@
|
|
1
|
+
Feature: git support
|
2
|
+
In order to start a new gem for GitHub
|
3
|
+
A user should be able to
|
4
|
+
generate a project that is setup for git
|
5
|
+
|
6
|
+
Scenario: git remote configuration
|
7
|
+
Given a working directory
|
8
|
+
And I have configured git sanely
|
9
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
10
|
+
|
11
|
+
Then git repository has 'origin' remote
|
12
|
+
And git repository 'origin' remote should be 'git@github.com:technicalpickles/the-perfect-gem.git'
|
13
|
+
|
14
|
+
Scenario: .gitignore
|
15
|
+
Given a working directory
|
16
|
+
And I have configured git sanely
|
17
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
18
|
+
|
19
|
+
Then a sane '.gitignore' is created
|
20
|
+
|
21
|
+
Scenario: baseline repository
|
22
|
+
Given a working directory
|
23
|
+
And I have configured git sanely
|
24
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
25
|
+
|
26
|
+
Then a commit with the message 'Initial commit to the-perfect-gem.' is made
|
27
|
+
And 'README.rdoc' was checked in
|
28
|
+
And 'Rakefile' was checked in
|
29
|
+
And 'LICENSE' was checked in
|
30
|
+
And 'lib/the-perfect-gem.rb' was checked in
|
31
|
+
And '.gitignore' was checked in
|
32
|
+
|
33
|
+
And no files are untracked
|
34
|
+
And no files are changed
|
35
|
+
And no files are added
|
36
|
+
And no files are deleted
|
37
|
+
|
38
|
+
Scenario: bacon
|
39
|
+
Given a working directory
|
40
|
+
And I have configured git sanely
|
41
|
+
When I generate a bacon project named 'the-perfect-gem' that is 'zomg, so good'
|
42
|
+
|
43
|
+
Then 'spec/spec_helper.rb' was checked in
|
44
|
+
And 'spec/the-perfect-gem_spec.rb' was checked in
|
45
|
+
|
46
|
+
Scenario: minitest
|
47
|
+
Given a working directory
|
48
|
+
And I have configured git sanely
|
49
|
+
When I generate a minitest project named 'the-perfect-gem' that is 'zomg, so good'
|
50
|
+
|
51
|
+
Then 'test/test_helper.rb' was checked in
|
52
|
+
And 'test/the-perfect-gem_test.rb' was checked in
|
53
|
+
|
54
|
+
Scenario: rspec
|
55
|
+
Given a working directory
|
56
|
+
And I have configured git sanely
|
57
|
+
When I generate a rspec project named 'the-perfect-gem' that is 'zomg, so good'
|
58
|
+
|
59
|
+
Then 'spec/spec_helper.rb' was checked in
|
60
|
+
And 'spec/the-perfect-gem_spec.rb' was checked in
|
61
|
+
|
62
|
+
Scenario: shoulda
|
63
|
+
Given a working directory
|
64
|
+
And I have configured git sanely
|
65
|
+
When I generate a shoulda project named 'the-perfect-gem' that is 'zomg, so good'
|
66
|
+
|
67
|
+
Then 'test/test_helper.rb' was checked in
|
68
|
+
And 'test/the-perfect-gem_test.rb' was checked in
|
69
|
+
|
70
|
+
Scenario: testunit
|
71
|
+
Given a working directory
|
72
|
+
And I have configured git sanely
|
73
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
74
|
+
|
75
|
+
Then 'test/test_helper.rb' was checked in
|
76
|
+
And 'test/the-perfect-gem_test.rb' was checked in
|
77
|
+
|
78
|
+
Scenario: micronaut
|
79
|
+
Given a working directory
|
80
|
+
And I have configured git sanely
|
81
|
+
When I generate a micronaut project named 'the-perfect-gem' that is 'zomg, so good'
|
82
|
+
|
83
|
+
Then 'examples/example_helper.rb' was checked in
|
84
|
+
And 'examples/the-perfect-gem_example.rb' was checked in
|
85
|
+
|
86
|
+
Scenario: cucumber
|
87
|
+
Given a working directory
|
88
|
+
And I have configured git sanely
|
89
|
+
And I want cucumber stories
|
90
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
91
|
+
|
92
|
+
Then 'features/the-perfect-gem.feature' was checked in
|
93
|
+
And 'features/support/env.rb' was checked in
|
94
|
+
And 'features/step_definitions/the-perfect-gem_steps.rb' was checked in
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: generated license
|
2
|
+
In order to start a new gem
|
3
|
+
A user should be able to
|
4
|
+
generate a default license
|
5
|
+
|
6
|
+
Scenario: copyright
|
7
|
+
Given a working directory
|
8
|
+
And I have configured git sanely
|
9
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good'
|
10
|
+
|
11
|
+
Then LICENSE has the copyright as belonging to 'foo' in '2009'
|
@@ -0,0 +1,151 @@
|
|
1
|
+
Feature: generated Rakefile
|
2
|
+
In order to start a new gem
|
3
|
+
A user should be able to
|
4
|
+
generate a Rakefile
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given a working directory
|
8
|
+
And I have configured git sanely
|
9
|
+
|
10
|
+
Scenario: shared
|
11
|
+
When I generate a project named 'the-perfect-gem' that is 'zomg, so good' and described as 'Descriptive'
|
12
|
+
|
13
|
+
Then 'Rakefile' requires 'rubygems'
|
14
|
+
And 'Rakefile' requires 'rake'
|
15
|
+
And 'Rakefile' requires 'rake/rdoctask'
|
16
|
+
And Rakefile has 'the-perfect-gem' for the Jeweler::Tasks name
|
17
|
+
And Rakefile has 'bar@example.com' for the Jeweler::Tasks email
|
18
|
+
And Rakefile has 'zomg, so good' for the Jeweler::Tasks summary
|
19
|
+
And Rakefile has 'Descriptive' for the Jeweler::Tasks description
|
20
|
+
And Rakefile has 'http://github.com/technicalpickles/the-perfect-gem' for the Jeweler::Tasks homepage
|
21
|
+
|
22
|
+
Scenario: bacon
|
23
|
+
When I generate a bacon project named 'the-perfect-gem' that is 'zomg, so good'
|
24
|
+
|
25
|
+
|
26
|
+
Then 'Rakefile' requires 'rcov/rcovtask'
|
27
|
+
And Rakefile has 'spec/**/*_spec.rb' for the Rake::TestTask pattern
|
28
|
+
And Rakefile has 'spec/**/*_spec.rb' for the Rcov::RcovTask pattern
|
29
|
+
And Rakefile has 'spec' in the Rcov::RcovTask libs
|
30
|
+
And Rakefile has "spec" as the default task
|
31
|
+
|
32
|
+
Scenario: minitest
|
33
|
+
When I generate a minitest project named 'the-perfect-gem' that is 'zomg, so good'
|
34
|
+
|
35
|
+
Then 'Rakefile' requires 'rcov/rcovtask'
|
36
|
+
And Rakefile has 'test/**/*_test.rb' for the Rake::TestTask pattern
|
37
|
+
And Rakefile has 'test/**/*_test.rb' for the Rcov::RcovTask pattern
|
38
|
+
And Rakefile has 'test' in the Rcov::RcovTask libs
|
39
|
+
And Rakefile has "test" as the default task
|
40
|
+
|
41
|
+
Scenario: rspec
|
42
|
+
When I generate a rspec project named 'the-perfect-gem' that is 'zomg, so good'
|
43
|
+
|
44
|
+
Then 'Rakefile' requires 'spec/rake/spectask'
|
45
|
+
And Rakefile has 'spec/**/*_spec.rb' for the Spec::Rake::SpecTask pattern
|
46
|
+
And Rakefile has "spec" as the default task
|
47
|
+
|
48
|
+
Scenario: shoulda
|
49
|
+
When I generate a shoulda project named 'the-perfect-gem' that is 'zomg, so good'
|
50
|
+
|
51
|
+
Then 'Rakefile' requires 'rcov/rcovtask'
|
52
|
+
And Rakefile has 'test/**/*_test.rb' for the Rake::TestTask pattern
|
53
|
+
And Rakefile has 'test/**/*_test.rb' for the Rcov::RcovTask pattern
|
54
|
+
And Rakefile has 'test' in the Rcov::RcovTask libs
|
55
|
+
And Rakefile has "test" as the default task
|
56
|
+
|
57
|
+
Scenario: micronaut
|
58
|
+
When I generate a micronaut project named 'the-perfect-gem' that is 'zomg, so good'
|
59
|
+
|
60
|
+
Then 'Rakefile' requires 'micronaut/rake_task'
|
61
|
+
And Rakefile has 'examples/**/*_example.rb' for the Micronaut::RakeTask pattern
|
62
|
+
And Rakefile has "examples" as the default task
|
63
|
+
|
64
|
+
Scenario: testunit
|
65
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
66
|
+
|
67
|
+
Then 'Rakefile' requires 'rcov/rcovtask'
|
68
|
+
Then Rakefile has 'test/**/*_test.rb' for the Rake::TestTask pattern
|
69
|
+
And Rakefile has 'test/**/*_test.rb' for the Rcov::RcovTask pattern
|
70
|
+
And Rakefile has 'test' in the Rcov::RcovTask libs
|
71
|
+
And Rakefile has "test" as the default task
|
72
|
+
|
73
|
+
Scenario: no cucumber
|
74
|
+
Given I do not want cucumber stories
|
75
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
76
|
+
Then Rakefile does not require 'cucumber/rake/task'
|
77
|
+
And Rakefile does not instantiate a Cucumber::Rake::Task
|
78
|
+
|
79
|
+
Scenario: cucumber
|
80
|
+
Given I want cucumber stories
|
81
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
82
|
+
Then Rakefile requires 'cucumber/rake/task'
|
83
|
+
And Rakefile instantiates a Cucumber::Rake::Task
|
84
|
+
|
85
|
+
Scenario: no reek
|
86
|
+
Given I do not want reek
|
87
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
88
|
+
Then Rakefile does not require 'reek/rake_task'
|
89
|
+
And Rakefile does not instantiate a Reek::RakeTask
|
90
|
+
|
91
|
+
Scenario: reek
|
92
|
+
Given I want reek
|
93
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
94
|
+
Then Rakefile requires 'reek/rake_task'
|
95
|
+
And Rakefile instantiates a Reek::RakeTask
|
96
|
+
|
97
|
+
Scenario: no roodi
|
98
|
+
Given I do not want roodi
|
99
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
100
|
+
Then Rakefile does not require 'roodi'
|
101
|
+
And Rakefile does not require 'roodi_task'
|
102
|
+
And Rakefile does not instantiate a RoodiTask
|
103
|
+
|
104
|
+
Scenario: roodi
|
105
|
+
Given I want roodi
|
106
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
107
|
+
Then Rakefile requires 'roodi'
|
108
|
+
And Rakefile requires 'roodi_task'
|
109
|
+
And Rakefile instantiates a RoodiTask
|
110
|
+
|
111
|
+
Scenario: no rubyforge
|
112
|
+
Given I do not want rubyforge setup
|
113
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
114
|
+
Then Rakefile does not instantiate a Jeweler::RubyforgeTasks
|
115
|
+
|
116
|
+
Scenario: rubyforge
|
117
|
+
Given I want rubyforge setup
|
118
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
119
|
+
Then Rakefile instantiates a Jeweler::RubyforgeTasks
|
120
|
+
|
121
|
+
Scenario: yard
|
122
|
+
Given I want to use yard instead of rdoc
|
123
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
124
|
+
|
125
|
+
Then 'Rakefile' does not require 'rake/rdoctask'
|
126
|
+
And 'Rakefile' requires 'yard'
|
127
|
+
And Rakefile instantiates a YARD::Rake::YardocTask
|
128
|
+
|
129
|
+
Scenario: rdoc
|
130
|
+
Given I want to use rdoc instead of yard
|
131
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
132
|
+
|
133
|
+
Then 'Rakefile' does not require 'yard'
|
134
|
+
And 'Rakefile' requires 'rake/rdoctask'
|
135
|
+
And Rakefile does not instantiate a YARD::Rake::YardocTask
|
136
|
+
And Rakefile instantiates a Rake::RDocTask.new
|
137
|
+
|
138
|
+
Scenario: rubyforge and yard
|
139
|
+
Given I want to use yard instead of rdoc
|
140
|
+
And I want rubyforge setup
|
141
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
142
|
+
Then Rakefile instantiates a Jeweler::RubyforgeTasks
|
143
|
+
And Rakefile has 'yardoc' for the Jeweler::RubyforgeTasks doc_task
|
144
|
+
|
145
|
+
Scenario: rubyfoge and doc
|
146
|
+
Given I want to use rdoc instead of yard
|
147
|
+
And I want rubyforge setup
|
148
|
+
And I want rubyforge setup
|
149
|
+
When I generate a testunit project named 'the-perfect-gem' that is 'zomg, so good'
|
150
|
+
Then Rakefile instantiates a Jeweler::RubyforgeTasks
|
151
|
+
And Rakefile has 'rdoc' for the Jeweler::RubyforgeTasks doc_task
|