dchelimsky-rspec-rails 1.1.99.8 → 1.1.99.9

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -35,6 +35,7 @@ IMPORTANT: This release includes the following backwards-compatibility-breaking
35
35
  * rspec_scaffold generator generates layout and stylesheet (per Rails-2.3)
36
36
  * add bypass_rescue for controller specs
37
37
  * infer template path from the first arg passed to describe in view specs
38
+ * separate routing specs (in spec/routing)
38
39
 
39
40
  * bug fixes
40
41
 
@@ -47,6 +48,7 @@ IMPORTANT: This release includes the following backwards-compatibility-breaking
47
48
  * rake spec:server:start doesn't choke if there is no tmp directory
48
49
  * force cache_classes = false when running with spec_server. Closes #287.
49
50
  * keep spec_server working against edge rails (Jonathan Tron). Closes #685.
51
+ * create lib/tasks if not present when running script/generate rspec. Closes #687.
50
52
 
51
53
  === Version 1.1.12 / 2009-01-11
52
54
 
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ Hoe.new('rspec-rails', Spec::Rails::VERSION::STRING) do |p|
20
20
  p.description = "Behaviour Driven Development for Ruby on Rails."
21
21
  p.rubyforge_name = 'rspec'
22
22
  p.developer('RSpec Development Team', 'rspec-devel@rubyforge.org')
23
- p.extra_deps = [["rspec","1.1.99.8"],["rack",">=0.4.0"]]
23
+ p.extra_deps = [["dchelimsky-rspec","1.1.99.9"],["rack",">=0.4.0"]]
24
24
  p.extra_dev_deps = [["cucumber",">= 0.1.13"]]
25
25
  p.remote_rdoc_dir = "rspec-rails/#{Spec::Rails::VERSION::STRING}"
26
26
  end
@@ -14,6 +14,7 @@ class RspecGenerator < Rails::Generator::Base
14
14
  record do |m|
15
15
  script_options = { :chmod => 0755, :shebang => options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang] }
16
16
 
17
+ m.directory 'lib/tasks'
17
18
  m.file 'rspec.rake', 'lib/tasks/rspec.rake'
18
19
 
19
20
  m.file 'script/autospec', 'script/autospec', script_options
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
  $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + "/../vendor/plugins/rspec/lib"))
3
- require 'rubygems'
4
3
  require 'spec'
5
4
  exit ::Spec::Runner::CommandLine.run
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  $LOAD_PATH.unshift File.dirname(__FILE__) + '/../vendor/plugins/rspec-rails/lib' # For rspec installed as plugin
3
- require 'rubygems'
4
3
  require 'optparse'
5
4
  require 'spec/rails/spec_server'
6
5
 
@@ -30,7 +30,6 @@ class RspecScaffoldGenerator < Rails::Generator::NamedBase
30
30
  @controller_class_name = "#{@controller_class_nesting}::#{@controller_class_name_without_nesting}"
31
31
  end
32
32
 
33
- @resource_generator = "scaffold"
34
33
  @default_file_extension = "html.erb"
35
34
  end
36
35
 
@@ -50,34 +49,35 @@ class RspecScaffoldGenerator < Rails::Generator::NamedBase
50
49
  m.directory(File.join('public/stylesheets', class_path))
51
50
 
52
51
  m.directory(File.join('spec/controllers', controller_class_path))
52
+ m.directory(File.join('spec/routing', controller_class_path))
53
53
  m.directory(File.join('spec/models', class_path))
54
54
  m.directory(File.join('spec/helpers', class_path))
55
55
  m.directory File.join('spec/fixtures', class_path)
56
56
  m.directory File.join('spec/views', controller_class_path, controller_file_name)
57
57
 
58
58
  # Layout and stylesheet.
59
- m.template("#{@resource_generator}:layout.html.erb", File.join('app/views/layouts', controller_class_path, "#{controller_file_name}.html.erb"))
60
- m.template("#{@resource_generator}:style.css", 'public/stylesheets/scaffold.css')
59
+ m.template("scaffold:layout.html.erb", File.join('app/views/layouts', controller_class_path, "#{controller_file_name}.html.erb"))
60
+ m.template("scaffold:style.css", 'public/stylesheets/scaffold.css')
61
61
 
62
62
  # Controller spec, class, and helper.
63
63
  m.template 'rspec_scaffold:routing_spec.rb',
64
- File.join('spec/controllers', controller_class_path, "#{controller_file_name}_routing_spec.rb")
64
+ File.join('spec/routing', controller_class_path, "#{controller_file_name}_routing_spec.rb")
65
65
 
66
66
  m.template 'rspec_scaffold:controller_spec.rb',
67
67
  File.join('spec/controllers', controller_class_path, "#{controller_file_name}_controller_spec.rb")
68
68
 
69
- m.template "#{@resource_generator}:controller.rb",
69
+ m.template "scaffold:controller.rb",
70
70
  File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
71
71
 
72
72
  m.template 'rspec_scaffold:helper_spec.rb',
73
73
  File.join('spec/helpers', class_path, "#{controller_file_name}_helper_spec.rb")
74
74
 
75
- m.template "#{@resource_generator}:helper.rb",
75
+ m.template "scaffold:helper.rb",
76
76
  File.join('app/helpers', controller_class_path, "#{controller_file_name}_helper.rb")
77
77
 
78
78
  for action in scaffold_views
79
79
  m.template(
80
- "#{@resource_generator}:view_#{action}.#{@default_file_extension}",
80
+ "scaffold:view_#{action}.#{@default_file_extension}",
81
81
  File.join('app/views', controller_class_path, controller_file_name, "#{action}.#{default_file_extension}")
82
82
  )
83
83
  end
@@ -89,8 +89,6 @@ module Spec
89
89
  end
90
90
  end
91
91
 
92
- include ::Spec::Rails::Example::RoutingHelpers
93
-
94
92
  before(:each) do
95
93
  # Some Rails apps explicitly disable ActionMailer in environment.rb
96
94
  if defined?(ActionMailer)
@@ -149,10 +147,6 @@ MESSAGE
149
147
  end
150
148
 
151
149
  private
152
-
153
- def ensure_that_routes_are_loaded
154
- ActionController::Routing::Routes.reload if ActionController::Routing::Routes.empty?
155
- end
156
150
 
157
151
  module TemplateIsolationExtensions
158
152
  def file_exists?(ignore); true; end
@@ -3,7 +3,19 @@ module Spec
3
3
  module Example
4
4
  module RoutingHelpers
5
5
 
6
+ module ParamsFromQueryString # :nodoc:
7
+ def params_from_querystring(querystring) # :nodoc:
8
+ params = {}
9
+ querystring.split('&').each do |piece|
10
+ key, value = piece.split('=')
11
+ params[key.to_sym] = value
12
+ end
13
+ params
14
+ end
15
+ end
16
+
6
17
  class RouteFor
18
+ include ::Spec::Rails::Example::RoutingHelpers::ParamsFromQueryString
7
19
  def initialize(example, options)
8
20
  @example, @options = example, options
9
21
  end
@@ -42,13 +54,12 @@ module Spec
42
54
  querystring.blank? ? params : params.merge(params_from_querystring(querystring))
43
55
  end
44
56
 
45
- def params_from_querystring(querystring) # :nodoc:
46
- params = {}
47
- querystring.split('&').each do |piece|
48
- key, value = piece.split('=')
49
- params[key.to_sym] = value
50
- end
51
- params
57
+ private
58
+
59
+ include ParamsFromQueryString
60
+
61
+ def ensure_that_routes_are_loaded
62
+ ActionController::Routing::Routes.reload if ActionController::Routing::Routes.empty?
52
63
  end
53
64
 
54
65
  end
@@ -8,6 +8,7 @@ require "spec/rails/example/functional_example_group"
8
8
  require "spec/rails/example/controller_example_group"
9
9
  require "spec/rails/example/helper_example_group"
10
10
  require "spec/rails/example/view_example_group"
11
+ require "spec/rails/example/routing_example_group"
11
12
  require "spec/rails/example/cookies_proxy"
12
13
 
13
14
  module Spec
@@ -1,5 +1,7 @@
1
1
  module ActionController
2
2
  class TestCase
3
+ include ::Spec::Rails::Example::RoutingHelpers
4
+
3
5
  if Rails::VERSION::STRING =~ /2\.0/
4
6
  # Introduced in Rails 2.1, but we need it for 2.0
5
7
  def rescue_action_in_public!
@@ -1,7 +1,7 @@
1
1
  module ActiveSupport
2
2
  class TestCase
3
- include Spec::Rails::Matchers
4
- include Spec::Rails::Mocks
3
+ include ::Spec::Rails::Matchers
4
+ include ::Spec::Rails::Mocks
5
5
  end
6
6
  end
7
7
 
@@ -5,7 +5,7 @@ module Spec
5
5
  MAJOR = 1
6
6
  MINOR = 1
7
7
  TINY = 99
8
- MINESCULE = 8
8
+ MINESCULE = 9
9
9
 
10
10
  STRING = [MAJOR, MINOR, TINY, MINESCULE].compact.join('.')
11
11
 
data/rspec-rails.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rspec-rails}
5
- s.version = "1.1.99.8"
5
+ s.version = "1.1.99.9"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["RSpec Development Team"]
9
- s.date = %q{2009-02-23}
9
+ s.date = %q{2009-02-24}
10
10
  s.description = %q{Behaviour Driven Development for Ruby on Rails.}
11
11
  s.email = ["rspec-devel@rubyforge.org"]
12
12
  s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "TODO.txt", "generators/rspec/templates/previous_failures.txt"]
@@ -17,23 +17,23 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ["lib"]
18
18
  s.rubyforge_project = %q{rspec}
19
19
  s.rubygems_version = %q{1.3.1}
20
- s.summary = %q{rspec-rails 1.1.99.8}
20
+ s.summary = %q{rspec-rails 1.1.99.9}
21
21
 
22
22
  if s.respond_to? :specification_version then
23
23
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
24
  s.specification_version = 2
25
25
 
26
26
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
- s.add_runtime_dependency(%q<rspec>, ["= 1.1.99.8"])
27
+ s.add_runtime_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.9"])
28
28
  s.add_runtime_dependency(%q<rack>, [">= 0.4.0"])
29
29
  s.add_development_dependency(%q<cucumber>, [">= 0.1.13"])
30
30
  s.add_development_dependency(%q<hoe>, [">= 1.8.3"])
31
31
  else
32
- s.add_dependency(%q<rspec>, ["= 1.1.99.8"])
32
+ s.add_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.9"])
33
33
  s.add_dependency(%q<rack>, [">= 0.4.0"])
34
34
  end
35
35
  else
36
- s.add_dependency(%q<rspec>, ["= 1.1.99.8"])
36
+ s.add_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.9"])
37
37
  s.add_dependency(%q<rack>, [">= 0.4.0"])
38
38
  end
39
39
  end
@@ -1,5 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/../../../spec_helper'
2
2
  require 'controller_spec_controller'
3
+ require File.join(File.dirname(__FILE__), "/shared_routing_example_group_examples.rb")
3
4
 
4
5
  ['integration', 'isolation'].each do |mode|
5
6
  describe "A controller example running in #{mode} mode", :type => :controller do
@@ -7,6 +8,7 @@ require 'controller_spec_controller'
7
8
  integrate_views if mode == 'integration'
8
9
 
9
10
  accesses_configured_helper_methods
11
+ include RoutingExampleGroupSpec
10
12
 
11
13
  describe "with an implicit subject" do
12
14
  it "uses the controller" do
@@ -158,49 +160,6 @@ require 'controller_spec_controller'
158
160
 
159
161
  end
160
162
 
161
- class CustomRouteSpecController < ActionController::Base; end
162
- class RspecOnRailsSpecsController < ActionController::Base; end
163
-
164
- it "should support custom routes" do
165
- route_for(:controller => "custom_route_spec", :action => "custom_route").
166
- should == "/custom_route"
167
- end
168
-
169
- it "should support existing routes" do
170
- route_for(:controller => "controller_spec", :action => "some_action").
171
- should == "/controller_spec/some_action"
172
- end
173
-
174
- it "should support existing routes with additional parameters" do
175
- route_for(:controller => "controller_spec", :action => "some_action", :param => '1').
176
- should == "/controller_spec/some_action?param=1"
177
- end
178
-
179
- it "recognizes routes with methods besides :get" do
180
- route_for(:controller => "rspec_on_rails_specs", :action => "update", :id => "37").
181
- should == {:path => "/rspec_on_rails_specs/37", :method => :put}
182
- end
183
-
184
- it "should generate params for custom routes" do
185
- params_from(:get, '/custom_route').
186
- should == {:controller => "custom_route_spec", :action => "custom_route"}
187
- end
188
-
189
- it "should generate params for existing routes" do
190
- params_from(:get, '/controller_spec/some_action').
191
- should == {:controller => "controller_spec", :action => "some_action"}
192
- end
193
-
194
- it "should generate params for an existing route with a query parameter" do
195
- params_from(:get, '/controller_spec/some_action?param=1').
196
- should == {:controller => "controller_spec", :action => "some_action", :param => '1'}
197
- end
198
-
199
- it "should generate params for an existing route with multiple query parameters" do
200
- params_from(:get, '/controller_spec/some_action?param1=1&param2=2').
201
- should == {:controller => "controller_spec", :action => "some_action", :param1 => '1', :param2 => '2' }
202
- end
203
-
204
163
  it "should expose instance vars through the assigns hash" do
205
164
  get 'action_setting_the_assigns_hash'
206
165
  assigns[:indirect_assigns_key].should == :indirect_assigns_key_value
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dchelimsky-rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.99.8
4
+ version: 1.1.99.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - RSpec Development Team
@@ -9,18 +9,18 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-23 00:00:00 -08:00
12
+ date: 2009-02-24 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rspec
16
+ name: dchelimsky-rspec
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - "="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.1.99.8
23
+ version: 1.1.99.9
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rack
@@ -257,6 +257,6 @@ rubyforge_project: rspec
257
257
  rubygems_version: 1.2.0
258
258
  signing_key:
259
259
  specification_version: 2
260
- summary: rspec-rails 1.1.99.8
260
+ summary: rspec-rails 1.1.99.9
261
261
  test_files: []
262
262
 
@@ -1,16 +0,0 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
2
-
3
- describe "A shared view example_group", :shared => true do
4
- it "should have some tag with some text" do
5
- response.should have_tag('div', 'This is text from a method in the ViewSpecHelper')
6
- end
7
- end
8
-
9
- describe "A view example_group", :type => :view do
10
- it_should_behave_like "A shared view example_group"
11
-
12
- before(:each) do
13
- render "view_spec/implicit_helper"
14
- end
15
- end
16
-