bueller 0.0.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 +141 -0
- data/LICENSE +20 -0
- data/README.markdown +182 -0
- data/bin/bueller +5 -0
- data/lib/bueller/commands/build_gem.rb +50 -0
- data/lib/bueller/commands/git_tag_release.rb +63 -0
- data/lib/bueller/commands/install_gem.rb +36 -0
- data/lib/bueller/commands/release_to_github.rb +41 -0
- data/lib/bueller/commands/release_to_rubygems.rb +26 -0
- data/lib/bueller/commands/version/base.rb +36 -0
- data/lib/bueller/commands/version/bump_major.rb +11 -0
- data/lib/bueller/commands/version/bump_minor.rb +12 -0
- data/lib/bueller/commands/version/bump_patch.rb +14 -0
- data/lib/bueller/commands/version/write.rb +21 -0
- data/lib/bueller/commands/write_gemspec.rb +29 -0
- data/lib/bueller/commands.rb +18 -0
- data/lib/bueller/errors.rb +8 -0
- data/lib/bueller/gemspec_helper.rb +83 -0
- data/lib/bueller/generator/application.rb +51 -0
- data/lib/bueller/generator/bacon_mixin.rb +43 -0
- data/lib/bueller/generator/github_mixin.rb +29 -0
- data/lib/bueller/generator/micronaut_mixin.rb +41 -0
- data/lib/bueller/generator/minitest_mixin.rb +42 -0
- data/lib/bueller/generator/options.rb +154 -0
- data/lib/bueller/generator/rdoc_mixin.rb +9 -0
- data/lib/bueller/generator/riot_mixin.rb +42 -0
- data/lib/bueller/generator/rspec_mixin.rb +50 -0
- data/lib/bueller/generator/shindo_mixin.rb +44 -0
- data/lib/bueller/generator/shoulda_mixin.rb +42 -0
- data/lib/bueller/generator/testspec_mixin.rb +42 -0
- data/lib/bueller/generator/testunit_mixin.rb +39 -0
- data/lib/bueller/generator/yard_mixin.rb +14 -0
- data/lib/bueller/generator.rb +291 -0
- data/lib/bueller/rubyforge_tasks.rb +88 -0
- data/lib/bueller/tasks.rb +133 -0
- data/lib/bueller/templates/.document +11 -0
- data/lib/bueller/templates/.gitignore +40 -0
- data/lib/bueller/templates/Gemfile +1 -0
- data/lib/bueller/templates/LICENSE +20 -0
- data/lib/bueller/templates/README.rdoc +17 -0
- data/lib/bueller/templates/Rakefile +20 -0
- data/lib/bueller/templates/bacon/flunking.rb +7 -0
- data/lib/bueller/templates/bacon/helper.rb +8 -0
- data/lib/bueller/templates/bueller_tasks.erb +10 -0
- data/lib/bueller/templates/features/default.feature +9 -0
- data/lib/bueller/templates/features/support/env.rb +16 -0
- data/lib/bueller/templates/gemspec +27 -0
- data/lib/bueller/templates/micronaut/flunking.rb +7 -0
- data/lib/bueller/templates/micronaut/helper.rb +17 -0
- data/lib/bueller/templates/minitest/flunking.rb +7 -0
- data/lib/bueller/templates/minitest/helper.rb +11 -0
- data/lib/bueller/templates/other_tasks.erb +84 -0
- data/lib/bueller/templates/riot/flunking.rb +11 -0
- data/lib/bueller/templates/riot/helper.rb +3 -0
- data/lib/bueller/templates/rspec/.rspec +1 -0
- data/lib/bueller/templates/rspec/flunking.rb +7 -0
- data/lib/bueller/templates/rspec/helper.rb +19 -0
- data/lib/bueller/templates/shindo/flunking.rb +8 -0
- data/lib/bueller/templates/shindo/helper.rb +5 -0
- data/lib/bueller/templates/shoulda/flunking.rb +7 -0
- data/lib/bueller/templates/shoulda/helper.rb +10 -0
- data/lib/bueller/templates/testspec/flunking.rb +7 -0
- data/lib/bueller/templates/testspec/helper.rb +7 -0
- data/lib/bueller/templates/testunit/flunking.rb +7 -0
- data/lib/bueller/templates/testunit/helper.rb +9 -0
- data/lib/bueller/version_helper.rb +59 -0
- data/lib/bueller.rb +139 -0
- data/spec/bueller/commands/build_gem_spec.rb +38 -0
- data/spec/bueller/commands/git_tag_release_spec.rb +79 -0
- data/spec/bueller/commands/install_gem_spec.rb +11 -0
- data/spec/bueller/commands/release_to_github_spec.rb +54 -0
- data/spec/bueller/commands/release_to_rubygems_spec.rb +15 -0
- data/spec/bueller/commands/version/bump_major_spec.rb +12 -0
- data/spec/bueller/commands/version/bump_minor_spec.rb +12 -0
- data/spec/bueller/commands/version/bump_patch_spec.rb +12 -0
- data/spec/bueller/commands/write_gemspec_spec.rb +32 -0
- data/spec/bueller/gemspec_helper_spec.rb +55 -0
- data/spec/bueller/generator/application_spec.rb +67 -0
- data/spec/bueller/generator/options_spec.rb +206 -0
- data/spec/bueller/generator_mixins_spec.rb +23 -0
- data/spec/bueller/generator_spec.rb +274 -0
- data/spec/bueller/tasks_spec.rb +29 -0
- data/spec/bueller/version_helper_spec.rb +57 -0
- data/spec/bueller_spec.rb +94 -0
- data/spec/fixtures/bar/bar.gemspec +41 -0
- data/spec/fixtures/bar/bin/foo_the_ultimate_bin +1 -0
- data/spec/fixtures/bar/hey_include_me_in_gemspec +0 -0
- data/spec/fixtures/bar/lib/foo_the_ultimate_lib.rb +1 -0
- data/spec/fixtures/existing-project/LICENSE +20 -0
- data/spec/fixtures/existing-project/README.rdoc +7 -0
- data/spec/fixtures/existing-project/Rakefile +69 -0
- data/spec/fixtures/existing-project/existing-project.gemspec +20 -0
- data/spec/fixtures/existing-project/lib/existing_project_with_version.rb +0 -0
- data/spec/fixtures/existing-project/test/existing_project_with_version_test.rb +7 -0
- data/spec/fixtures/existing-project/test/test_helper.rb +10 -0
- data/spec/fixtures/existing-project-with-version-constant/LICENSE +20 -0
- data/spec/fixtures/existing-project-with-version-constant/README.rdoc +7 -0
- data/spec/fixtures/existing-project-with-version-constant/Rakefile +69 -0
- data/spec/fixtures/existing-project-with-version-constant/existing-project-with-version.gemspec +19 -0
- data/spec/fixtures/existing-project-with-version-constant/lib/existing_project_with_version.rb +0 -0
- data/spec/fixtures/existing-project-with-version-constant/test/existing_project_with_version_test.rb +7 -0
- data/spec/fixtures/existing-project-with-version-constant/test/test_helper.rb +10 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/support/application.rb +28 -0
- data/spec/support/file_system.rb +24 -0
- data/spec/support/gemspec.rb +28 -0
- data/spec/support/git.rb +19 -0
- data/spec/support/have_version.rb +18 -0
- metadata +381 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module GithubMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.github_username = generator.options[:github_username]
|
|
6
|
+
generator.github_token = generator.options[:github_token]
|
|
7
|
+
generator.create_remote_repo = generator.options[:create_repo]
|
|
8
|
+
|
|
9
|
+
unless generator.github_username
|
|
10
|
+
raise NoGitHubUser
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
if generator.create_remote_repo?
|
|
14
|
+
unless generator.github_token
|
|
15
|
+
raise NoGitHubToken
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def git_remote
|
|
21
|
+
@git_remote ||= "git@github.com:#{github_username}/#{project_name}.git"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def homepage
|
|
25
|
+
@homepage ||= "http://github.com/#{github_username}/#{project_name}"
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module MicronautMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.development_dependencies << 'micronaut'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def default_task
|
|
9
|
+
'examples'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def feature_support_require
|
|
13
|
+
'micronaut/expectations'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def feature_support_extend
|
|
17
|
+
'Micronaut::Matchers'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_dir
|
|
21
|
+
'examples'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_task
|
|
25
|
+
'examples'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_pattern
|
|
29
|
+
'examples/**/*_example.rb'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_filename
|
|
33
|
+
"#{require_name}_example.rb"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_helper_filename
|
|
37
|
+
"example_helper.rb"
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module MinitestMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.development_dependencies << 'minitest'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def default_task
|
|
9
|
+
'test'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def feature_support_require
|
|
13
|
+
'minitest/unit'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def feature_support_extend
|
|
17
|
+
'MiniTest::Assertions'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_dir
|
|
21
|
+
'test'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_task
|
|
25
|
+
'test'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_pattern
|
|
29
|
+
'test/**/test_*.rb'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_filename
|
|
33
|
+
"test_#{require_name}.rb"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_helper_filename
|
|
37
|
+
"helper.rb"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
|
|
2
|
+
class Bueller
|
|
3
|
+
class Generator
|
|
4
|
+
class Options < Hash
|
|
5
|
+
attr_reader :opts, :orig_args
|
|
6
|
+
|
|
7
|
+
def initialize(args)
|
|
8
|
+
super()
|
|
9
|
+
|
|
10
|
+
@orig_args = args.clone
|
|
11
|
+
self[:testing_framework] = :rspec
|
|
12
|
+
self[:documentation_framework] = :rdoc
|
|
13
|
+
|
|
14
|
+
git_config = Git.global_config
|
|
15
|
+
self[:user_name] = git_config['user.name']
|
|
16
|
+
self[:user_email] = git_config['user.email']
|
|
17
|
+
self[:github_username] = git_config['github.user']
|
|
18
|
+
self[:github_token] = git_config['github.token']
|
|
19
|
+
|
|
20
|
+
require 'optparse'
|
|
21
|
+
@opts = OptionParser.new do |o|
|
|
22
|
+
o.banner = "Usage: #{File.basename($0)} [options] reponame\ne.g. #{File.basename($0)} the-perfect-gem"
|
|
23
|
+
|
|
24
|
+
o.on('--directory [DIRECTORY]', 'specify the directory to generate into') do |directory|
|
|
25
|
+
self[:directory] = directory
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
o.separator ""
|
|
29
|
+
|
|
30
|
+
o.on('--rspec', 'generate rspec code examples') do
|
|
31
|
+
self[:testing_framework] = :rspec
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
o.on('--shoulda', 'generate shoulda tests') do
|
|
35
|
+
self[:testing_framework] = :shoulda
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
o.on('--testunit', 'generate test/unit tests') do
|
|
39
|
+
self[:testing_framework] = :testunit
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
o.on('--bacon', 'generate bacon specifications') do
|
|
43
|
+
self[:testing_framework] = :bacon
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
o.on('--testspec', 'generate test/spec tests') do
|
|
47
|
+
self[:testing_framework] = :testspec
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
o.on('--minitest', 'generate minitest tests') do
|
|
51
|
+
self[:testing_framework] = :minitest
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
o.on('--micronaut', 'generate micronaut examples') do
|
|
55
|
+
self[:testing_framework] = :micronaut
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
o.on('--riot', 'generate riot tests') do
|
|
59
|
+
self[:testing_framework] = :riot
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
o.on('--shindo', 'generate shindo tests') do
|
|
63
|
+
self[:testing_framework] = :shindo
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
o.separator ""
|
|
67
|
+
|
|
68
|
+
o.on('--cucumber', 'generate cucumber stories in addition to the other tests') do
|
|
69
|
+
self[:use_cucumber] = true
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
o.separator ""
|
|
73
|
+
|
|
74
|
+
o.on('--reek', 'generate rake task for reek') do
|
|
75
|
+
self[:use_reek] = true
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
o.on('--roodi', 'generate rake task for roodi') do
|
|
79
|
+
self[:use_roodi] = true
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
o.separator ""
|
|
83
|
+
|
|
84
|
+
o.on('--summary [SUMMARY]', 'specify the summary of the project') do |summary|
|
|
85
|
+
self[:summary] = summary
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
o.on('--description [DESCRIPTION]', 'specify a description of the project') do |description|
|
|
89
|
+
self[:description] = description
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
o.separator ""
|
|
93
|
+
|
|
94
|
+
o.on('--user-name [USER_NAME]', "the user's name, ie that is credited in the LICENSE") do |user_name|
|
|
95
|
+
self[:user_name] = user_name
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
o.on('--user-email [USER_EMAIL]', "the user's email, ie that is credited in the Gem specification") do |user_email|
|
|
99
|
+
self[:user_email] = user_email
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
o.separator ""
|
|
103
|
+
|
|
104
|
+
o.on('--github-username [GITHUB_USERNAME]', "name of the user on GitHub to set the project up under") do |github_username|
|
|
105
|
+
self[:github_username] = github_username
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
o.on('--github-token [GITHUB_TOKEN]', "GitHub token to use for interacting with the GitHub API") do |github_token|
|
|
109
|
+
self[:github_token] = github_token
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
o.on('--git-remote [GIT_REMOTE]', 'URI to set the git origin remote to') do |git_remote|
|
|
113
|
+
self[:git_remote] = git_remote
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
o.on('--homepage [HOMEPAGE]', "the homepage for your project (defaults to the GitHub repo)") do |homepage|
|
|
117
|
+
self[:homepage] = homepage
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
o.on('--create-repo', 'create the repository on GitHub') do
|
|
121
|
+
self[:create_repo] = true
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
o.separator ""
|
|
126
|
+
|
|
127
|
+
o.on('--yard', 'use yard for documentation') do
|
|
128
|
+
self[:documentation_framework] = :yard
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
o.on('--rdoc', 'use rdoc for documentation') do
|
|
132
|
+
self[:documentation_framework] = :rdoc
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
o.on_tail('-h', '--help', 'display this help and exit') do
|
|
136
|
+
self[:show_help] = true
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
begin
|
|
141
|
+
@opts.parse!(args)
|
|
142
|
+
self[:project_name] = args.shift
|
|
143
|
+
rescue OptionParser::InvalidOption => e
|
|
144
|
+
self[:invalid_argument] = e.message
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def merge(other)
|
|
149
|
+
self.class.new(@orig_args + other.orig_args)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module RiotMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.development_dependencies << 'riot'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def default_task
|
|
9
|
+
'test'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def feature_support_require
|
|
13
|
+
'riot/context'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def feature_support_extend
|
|
17
|
+
'Riot::Context'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_dir
|
|
21
|
+
'test'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_task
|
|
25
|
+
'test'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_pattern
|
|
29
|
+
'test/**/*_test.rb'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_filename
|
|
33
|
+
"#{require_name}_test.rb"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_helper_filename
|
|
37
|
+
"teststrap.rb"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module RspecMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.development_dependencies << 'rspec'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def default_task
|
|
9
|
+
'examples'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def feature_support_require
|
|
13
|
+
'rspec/expectations'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def feature_support_extend
|
|
17
|
+
nil # Cucumber is smart enough extend Spec::Expectations on its own
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_dir
|
|
21
|
+
'spec'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_task
|
|
25
|
+
'examples'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_pattern
|
|
29
|
+
'spec/**/*_spec.rb'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_filename
|
|
33
|
+
"#{require_name}_spec.rb"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_helper_filename
|
|
37
|
+
"spec_helper.rb"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
module InstanceMethods
|
|
41
|
+
def create_files
|
|
42
|
+
super
|
|
43
|
+
|
|
44
|
+
output_template_in_target File.join(testing_framework.to_s, '.rspec'),
|
|
45
|
+
'.rspec'
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module ShindoMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.development_dependencies << 'shindo'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def default_task
|
|
9
|
+
'tests'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def feature_support_require
|
|
13
|
+
# 'test/unit/assertions'
|
|
14
|
+
nil
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def feature_support_extend
|
|
18
|
+
# 'Test::Unit::Assertions'
|
|
19
|
+
nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_dir
|
|
23
|
+
'tests'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_task
|
|
27
|
+
'tests'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_pattern
|
|
31
|
+
'tests/**/*_tests.rb'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_filename
|
|
35
|
+
"#{require_name}_tests.rb"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_helper_filename
|
|
39
|
+
"tests_helper.rb"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
class Bueller
|
|
2
|
+
class Generator
|
|
3
|
+
module ShouldaMixin
|
|
4
|
+
def self.extended(generator)
|
|
5
|
+
generator.development_dependencies << 'shoulda'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def default_task
|
|
9
|
+
'test'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def feature_support_require
|
|
13
|
+
'test/unit/assertions'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def feature_support_extend
|
|
17
|
+
'Test::Unit::Assertions'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_dir
|
|
21
|
+
'test'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_task
|
|
25
|
+
'test'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_pattern
|
|
29
|
+
'test/**/test_*.rb'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_filename
|
|
33
|
+
"test_#{require_name}.rb"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_helper_filename
|
|
37
|
+
"helper.rb"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|