merb_cucumber 0.5.1.2 → 0.6.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/README.textile CHANGED
@@ -10,7 +10,7 @@ merb_cucumber 0.5.0 now requires a version greater than cucumber 0.1.13, which i
10
10
 
11
11
  Cucumber::CLI.execute ARGV
12
12
 
13
- * Add a cucumber.yml to your Merb.root with the following contents:
13
+ * Add a config/cucumber.yml to your Merb.root with the following contents:
14
14
 
15
15
  default: --format pretty features
16
16
 
data/Rakefile CHANGED
@@ -1,55 +1,17 @@
1
- require 'rubygems'
2
- require 'rake/gempackagetask'
1
+ require 'rake'
3
2
 
4
- require 'merb-core'
5
- require 'merb-core/tasks/merb'
6
-
7
- GEM_NAME = "merb_cucumber"
8
- GEM_VERSION = "0.5.1.2"
9
- AUTHOR = ["Roman Gonzalez", "David Leal"]
10
- EMAIL = ["romanandreg@gmail.com", "dgleal@gmail.com"]
11
- HOMEPAGE = "http://github.com/david/merb_cucumber"
12
- SUMMARY = "Cucumber integration for Merb"
13
-
14
- spec = Gem::Specification.new do |s|
15
- s.rubyforge_project = 'merb'
16
- s.name = GEM_NAME
17
- s.version = GEM_VERSION
18
- s.platform = Gem::Platform::RUBY
19
- s.has_rdoc = true
20
- s.extra_rdoc_files = ["README.textile", "LICENSE", 'TODO']
21
- s.summary = SUMMARY
22
- s.description = s.summary
23
- s.authors = AUTHOR
24
- s.email = EMAIL
25
- s.homepage = HOMEPAGE
26
- s.add_dependency('merb-core', '~> 1.0')
27
- s.add_dependency('cucumber', '>= 0.1.14')
28
- s.require_path = 'lib'
29
- s.files = %w(LICENSE README.textile Rakefile TODO Generators) + Dir.glob("{lib,spec}/**/*")
30
- end
31
-
32
- Rake::GemPackageTask.new(spec) do |pkg|
33
- pkg.gem_spec = spec
34
- end
35
-
36
- desc "install the plugin as a gem"
37
- task :install do
38
- Merb::RakeHelper.install(GEM_NAME, :version => GEM_VERSION)
39
- end
40
-
41
- desc "Uninstall the gem"
42
- task :uninstall do
43
- Merb::RakeHelper.uninstall(GEM_NAME, :version => GEM_VERSION)
3
+ require 'spec/rake/spectask'
4
+ Spec::Rake::SpecTask.new(:spec) do |spec|
5
+ spec.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
6
+ spec.libs << 'lib' << 'spec'
7
+ spec.spec_files = FileList['spec/**/*_spec.rb']
44
8
  end
45
9
 
46
- desc "Create a gemspec file"
47
- task :gemspec do
48
- File.open("#{GEM_NAME}.gemspec", "w") do |file|
49
- file.puts spec.to_ruby
50
- end
10
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
11
+ spec.libs << 'lib' << 'spec'
12
+ spec.pattern = 'spec/**/*_spec.rb'
13
+ spec.rcov = true
51
14
  end
52
15
 
53
- require 'spec/rake/spectask'
54
- require 'spec/rake/spectask'
55
- require 'merb-core/test/tasks/spectasks'
16
+ desc 'Default: run spec examples'
17
+ task :default => 'spec'
@@ -9,9 +9,9 @@ module Merb::Generators
9
9
  def self.source_root
10
10
  File.join(File.dirname(__FILE__), 'cucumber', 'templates')
11
11
  end
12
-
12
+
13
13
  option :orm, :desc => 'Object-Relation Mapper to use (one of: none, activerecord, datamapper, sequel)'
14
- option :session_type, :default => :simple, :desc => 'Session type to use (one of: simple, webrat)'
14
+ option :session_type, :default => :webrat, :desc => 'Session type to use (one of: simple, webrat)'
15
15
 
16
16
  template(:env) { |t| t.source = t.destination = "features/support/env.rb" }
17
17
  template(:rake) { |t| t.source = t.destination = "lib/tasks/cucumber.rake" }
@@ -25,7 +25,7 @@ module Merb::Generators
25
25
  template(:webrat_steps, :session_type => :webrat) do |t|
26
26
  t.source = t.destination = "features/steps/webrat_steps.rb"
27
27
  end
28
- template(:cucumber_yml) { |t| t.source = t.destination = "cucumber.yml" }
28
+ template(:cucumber_yml) { |t| t.source = t.destination = "config/cucumber.yml" }
29
29
 
30
30
  def chmod(action)
31
31
  File.chmod(0755, action.destination)
@@ -0,0 +1 @@
1
+ default: -r features/support --format pretty features
@@ -1,12 +1,6 @@
1
1
  # Sets up the Merb environment for Cucumber (thanks to krzys and roman)
2
2
  require "rubygems"
3
3
 
4
- # Add the local gems dir if found within the app root; any dependencies loaded
5
- # hereafter will try to load from the local gems before loading system gems.
6
- if (local_gem_dir = File.join(File.dirname(__FILE__), '..', 'gems')) && $BUNDLE.nil?
7
- $BUNDLE = true; Gem.clear_paths; Gem.path.unshift(local_gem_dir)
8
- end
9
-
10
4
  require "merb-core"
11
5
  require 'spec/expectations'
12
6
  require "merb_cucumber/world/<%= session_type %>"
@@ -16,6 +10,9 @@ require "merb_cucumber/helpers/datamapper"
16
10
  require "merb_cucumber/helpers/activerecord"
17
11
  <% end -%>
18
12
 
13
+ # Recursively Load all steps defined within features/**/*_steps.rb
14
+ Dir["#{Merb.root}" / "features" / "**" / "*_steps.rb"].each { |f| require f }
15
+
19
16
  # Uncomment if you want transactional fixtures
20
17
  # Merb::Test::World::Base.use_transactional_fixtures
21
18
 
@@ -24,4 +21,7 @@ require "merb_cucumber/helpers/activerecord"
24
21
  def Spec.run? ; true; end
25
22
 
26
23
  Merb.start_environment(:testing => true, :adapter => 'runner', :environment => ENV['MERB_ENV'] || 'test')
27
-
24
+
25
+ <% if orm == :datamapper -%>
26
+ DataMapper.auto_migrate!
27
+ <% end -%>
@@ -1,33 +1,38 @@
1
- require 'cucumber/rake/task'
1
+ begin
2
+ require 'cucumber/rake/task'
2
3
 
3
- cucumber_options = lambda do |t|
4
- # if you want to pass some custom options to cucumber, pass them here
5
- t.binary = Merb.root / 'bin' / 'cucumber' if File.exist?(Merb.root / 'bin' / 'cucumber')
6
- # We need use fork cucumber since cucumber > 0.3.4
7
- t.fork = true
4
+ # Use vendored cucumber binary if possible. If it's not vendored,
5
+ # Cucumber::Rake::Task will automatically use installed gem's cucumber binary
6
+ vendored_cucumber_binary = Merb.root / 'bin' / 'cucumber' if File.exist?(Merb.root / 'bin' / 'cucumber')
7
+
8
+ namespace :cucumber do
9
+ Cucumber::Rake::Task.new(:ok, 'Run features that should pass') do |t|
10
+ t.binary = vendored_cucumber_binary if vendored_cucumber_binary
11
+ t.fork = true # You may get faster startup if you set this to false
12
+ t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
13
+ end
8
14
 
9
- # Add all requirement like before cucumber<0.3.4
10
- t.cucumber_opts = ''
11
- require_list = Array(FileList[File.join(File.dirname(__FILE__),"../../features/**/*.rb")])
12
- require_list.each do |step_file|
13
- t.cucumber_opts << '--require'
14
- t.cucumber_opts << step_file
15
- end
16
- end
15
+ Cucumber::Rake::Task.new(:wip, 'Run features that are being worked on') do |t|
16
+ t.binary = vendored_cucumber_binary if vendored_cucumber_binary
17
+ t.fork = true # You may get faster startup if you set this to false
18
+ t.cucumber_opts = "--color --tags @wip:2 --wip --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
19
+ end
17
20
 
18
- Cucumber::Rake::Task.new(:features, &cucumber_options)
19
- Cucumber::Rake::FeatureTask.new(:feature, &cucumber_options)
20
- namespace :merb_cucumber do
21
- task :test_env do
22
- Merb.start_environment(:environment => "test", :adapter => 'runner')
21
+ desc 'Run all features'
22
+ task :all => [:ok, :wip]
23
23
  end
24
- end
24
+ desc 'Alias for cucumber:ok'
25
+ task :cucumber => 'cucumber:ok'
26
+
27
+ task :default => :cucumber
25
28
 
26
- <% if orm == :datamapper %>
27
- dependencies = ['merb_cucumber:test_env', 'db:automigrate']
28
- task :features => dependencies
29
- task :feature => dependencies
30
- <% else %>
31
- task :features => 'merb_cucumber:test_env'
32
- task :feature => 'merb_cucumber:test_env'
33
- <% end %>
29
+ task :features => :cucumber do
30
+ STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
31
+ end
32
+
33
+ rescue LoadError
34
+ desc 'cucumber rake task not available (cucumber not installed)'
35
+ task :cucumber do
36
+ abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
37
+ end
38
+ end
@@ -0,0 +1,5 @@
1
+ module Merb
2
+ module Cucumber
3
+ VERSION = "0.6.1".freeze
4
+ end
5
+ end
@@ -1,6 +1,6 @@
1
1
  require File.join(File.dirname(__FILE__), 'base')
2
2
  require 'webrat'
3
- require 'webrat/adapters/merb'
3
+ require 'cucumber/web/tableish'
4
4
 
5
5
  module Merb
6
6
  module Test
@@ -7,8 +7,8 @@ describe "common files generator", :shared => true do
7
7
  @generator.should create('/tmp/features/support/env.rb')
8
8
  end
9
9
 
10
- it "should generate the cucumber.yml file" do
11
- @generator.should create('/tmp/cucumber.yml')
10
+ it "should generate the config/cucumber.yml file" do
11
+ @generator.should create('/tmp/config/cucumber.yml')
12
12
  end
13
13
 
14
14
  it "should generate the autotest/cucumber_merb_rspec.rb file" do
@@ -63,7 +63,7 @@ describe Merb::Generators::CucumberGenerator do
63
63
  describe "on simple session" do
64
64
 
65
65
  before(:each) do
66
- @generator = Merb::Generators::CucumberGenerator.new('/tmp', {:orm => :datamapper})
66
+ @generator = Merb::Generators::CucumberGenerator.new('/tmp', {:orm => :datamapper, :session_type => :simple})
67
67
  end
68
68
 
69
69
  it_should_behave_like "common files generator"
@@ -87,7 +87,7 @@ describe Merb::Generators::CucumberGenerator do
87
87
  describe "on webrat session" do
88
88
 
89
89
  before(:each) do
90
- @generator = Merb::Generators::CucumberGenerator.new('/tmp', {:orm => :datamapper, :session_type => :webrat})
90
+ @generator = Merb::Generators::CucumberGenerator.new('/tmp', {:orm => :datamapper})
91
91
  end
92
92
 
93
93
  it_should_behave_like "common files generator"
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,9 @@
1
1
  require 'rubygems'
2
- require 'spec'
2
+
3
+ # Use current merb-core sources if running from a typical dev checkout.
4
+ lib = File.expand_path('../../../merb/merb-core/lib', __FILE__)
5
+ $LOAD_PATH.unshift(lib) if File.directory?(lib)
6
+ require 'merb-core'
3
7
  require 'merb-gen'
4
8
 
5
9
  $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -11,5 +15,3 @@ Merb.disable(:initfile)
11
15
  Spec::Runner.configure do |config|
12
16
  config.include Templater::Spec::Helpers
13
17
  end
14
-
15
-
metadata CHANGED
@@ -1,42 +1,105 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb_cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1.2
4
+ hash: 5
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 1
10
+ version: 0.6.1
5
11
  platform: ruby
6
12
  authors:
7
13
  - Roman Gonzalez
8
14
  - David Leal
15
+ - Jacques Crocker
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
19
 
13
- date: 2009-11-02 00:00:00 -08:00
20
+ date: 2010-08-30 00:00:00 +01:00
14
21
  default_executable:
15
22
  dependencies:
16
23
  - !ruby/object:Gem::Dependency
17
24
  name: merb-core
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 19
32
+ segments:
33
+ - 1
34
+ - 1
35
+ - 0
36
+ version: 1.1.0
18
37
  type: :runtime
19
- version_requirement:
20
- version_requirements: !ruby/object:Gem::Requirement
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: merb-gen
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
21
44
  requirements:
22
- - - ~>
45
+ - - ">="
23
46
  - !ruby/object:Gem::Version
24
- version: "1.0"
25
- version:
47
+ hash: 19
48
+ segments:
49
+ - 1
50
+ - 1
51
+ - 0
52
+ version: 1.1.0
53
+ type: :runtime
54
+ version_requirements: *id002
26
55
  - !ruby/object:Gem::Dependency
27
56
  name: cucumber
57
+ prerelease: false
58
+ requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 7
64
+ segments:
65
+ - 0
66
+ - 7
67
+ - 2
68
+ version: 0.7.2
28
69
  type: :runtime
29
- version_requirement:
30
- version_requirements: !ruby/object:Gem::Requirement
70
+ version_requirements: *id003
71
+ - !ruby/object:Gem::Dependency
72
+ name: cucumber-rails
73
+ prerelease: false
74
+ requirement: &id004 !ruby/object:Gem::Requirement
75
+ none: false
31
76
  requirements:
32
77
  - - ">="
33
78
  - !ruby/object:Gem::Version
34
- version: 0.1.14
35
- version:
79
+ hash: 3
80
+ segments:
81
+ - 0
82
+ version: "0"
83
+ type: :runtime
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ name: rspec
87
+ prerelease: false
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ hash: 13
94
+ segments:
95
+ - 1
96
+ - 2
97
+ - 9
98
+ version: 1.2.9
99
+ type: :development
100
+ version_requirements: *id005
36
101
  description: Cucumber integration for Merb
37
- email:
38
- - romanandreg@gmail.com
39
- - dgleal@gmail.com
102
+ email: merbjedi@gmail.com
40
103
  executables: []
41
104
 
42
105
  extensions: []
@@ -46,13 +109,9 @@ extra_rdoc_files:
46
109
  - LICENSE
47
110
  - TODO
48
111
  files:
49
- - LICENSE
50
- - README.textile
51
112
  - Rakefile
52
- - TODO
53
- - Generators
54
113
  - lib/generators/cucumber/templates/autotest/cucumber_merb_rspec.rb
55
- - lib/generators/cucumber/templates/cucumber.yml
114
+ - lib/generators/cucumber/templates/config/cucumber.yml
56
115
  - lib/generators/cucumber/templates/features/authentication/login.feature
57
116
  - lib/generators/cucumber/templates/features/authentication/steps/login_steps.rb
58
117
  - lib/generators/cucumber/templates/features/steps/result_steps.rb
@@ -65,6 +124,7 @@ files:
65
124
  - lib/generators/feature.rb
66
125
  - lib/merb_cucumber/helpers/activerecord.rb
67
126
  - lib/merb_cucumber/helpers/datamapper.rb
127
+ - lib/merb_cucumber/version.rb
68
128
  - lib/merb_cucumber/world/base.rb
69
129
  - lib/merb_cucumber/world/simple.rb
70
130
  - lib/merb_cucumber/world/webrat.rb
@@ -72,8 +132,12 @@ files:
72
132
  - spec/cucumber_setup_generator_spec.rb
73
133
  - spec/feature_generator_spec.rb
74
134
  - spec/spec_helper.rb
135
+ - README.textile
136
+ - LICENSE
137
+ - TODO
138
+ - Generators
75
139
  has_rdoc: true
76
- homepage: http://github.com/david/merb_cucumber
140
+ homepage: http://github.com/merb/merb_cucumber
77
141
  licenses: []
78
142
 
79
143
  post_install_message:
@@ -82,21 +146,27 @@ rdoc_options: []
82
146
  require_paths:
83
147
  - lib
84
148
  required_ruby_version: !ruby/object:Gem::Requirement
149
+ none: false
85
150
  requirements:
86
151
  - - ">="
87
152
  - !ruby/object:Gem::Version
153
+ hash: 3
154
+ segments:
155
+ - 0
88
156
  version: "0"
89
- version:
90
157
  required_rubygems_version: !ruby/object:Gem::Requirement
158
+ none: false
91
159
  requirements:
92
160
  - - ">="
93
161
  - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
94
165
  version: "0"
95
- version:
96
166
  requirements: []
97
167
 
98
- rubyforge_project: merb
99
- rubygems_version: 1.3.5
168
+ rubyforge_project:
169
+ rubygems_version: 1.3.7
100
170
  signing_key:
101
171
  specification_version: 3
102
172
  summary: Cucumber integration for Merb
@@ -1 +0,0 @@
1
- default: -r features/steps -r features/support --format pretty features