ammeter 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,9 @@
1
- require 'ammeter/rspec/generator/example.rb'
2
- require 'ammeter/rspec/generator/matcher.rb'
1
+ require 'rails'
2
+
3
+ # Ensure that Rails has loaded & Initialized
4
+ if Rails::VERSION::STRING >= "3.1"
5
+ require 'ammeter/railtie'
6
+ else
7
+ require 'ammeter/init'
8
+ end
3
9
 
@@ -0,0 +1,2 @@
1
+ require 'ammeter/rspec/generator/example.rb'
2
+ require 'ammeter/rspec/generator/matchers.rb'
@@ -0,0 +1,7 @@
1
+ module Ammeter
2
+ class Railtie < Rails::Railtie
3
+ initializer 'my_engine.interact_with_routes', :after=> :disable_dependency_loading do |app|
4
+ require 'ammeter/init.rb'
5
+ end
6
+ end
7
+ end
@@ -1,7 +1,7 @@
1
1
  require 'ammeter/rspec/generator/example/generator_example_group'
2
2
 
3
3
  RSpec::configure do |c|
4
- c.include RSpec::Rails::GeneratorExampleGroup, :type => :generator, :example_group => {
4
+ c.include Ammeter::RSpec::Rails::GeneratorExampleGroup, :type => :generator, :example_group => {
5
5
  :file_path => c.escaped_path(%w[spec generators])
6
6
  }
7
7
  end
@@ -1,61 +1,65 @@
1
1
  require 'rails/generators'
2
2
  require 'rspec/rails'
3
3
 
4
- module RSpec::Rails
5
- # Delegates to Rails::Generators::TestCase to work with RSpec.
6
- module GeneratorExampleGroup
7
- extend ActiveSupport::Concern
8
- include RSpec::Rails::RailsExampleGroup
9
-
10
- DELEGATED_METHODS = [:generator, :destination_root_is_set?, :capture, :ensure_current_path,
11
- :prepare_destination, :destination_root, :current_path, :generator_class]
12
- module ClassMethods
13
- mattr_accessor :test_unit_test_case_delegate
14
- delegate :default_arguments, :to => :'self.test_unit_test_case_delegate'
15
- DELEGATED_METHODS.each do |method|
16
- delegate method, :to => :'self.test_unit_test_case_delegate'
17
- end
18
- delegate :destination, :arguments, :to => :'self.test_unit_test_case_delegate.class'
4
+ module Ammeter
5
+ module RSpec
6
+ module Rails
7
+ # Delegates to Rails::Generators::TestCase to work with RSpec.
8
+ module GeneratorExampleGroup
9
+ extend ActiveSupport::Concern
10
+ include ::RSpec::Rails::RailsExampleGroup
19
11
 
20
- def initialize_delegate
21
- self.test_unit_test_case_delegate = Rails::Generators::TestCase.new 'pending'
22
- self.test_unit_test_case_delegate.class.tests(describes)
23
- end
12
+ DELEGATED_METHODS = [:generator, :destination_root_is_set?, :capture, :ensure_current_path,
13
+ :prepare_destination, :destination_root, :current_path, :generator_class]
14
+ module ClassMethods
15
+ mattr_accessor :test_unit_test_case_delegate
16
+ delegate :default_arguments, :to => :'self.test_unit_test_case_delegate'
17
+ DELEGATED_METHODS.each do |method|
18
+ delegate method, :to => :'self.test_unit_test_case_delegate'
19
+ end
20
+ delegate :destination, :arguments, :to => :'self.test_unit_test_case_delegate.class'
24
21
 
25
- def run_generator(given_args=self.default_arguments, config={})
26
- args, opts = Thor::Options.split(given_args)
27
- capture(:stdout) { generator(args, opts, config).invoke_all }
28
- end
29
- end
22
+ def initialize_delegate
23
+ self.test_unit_test_case_delegate = ::Rails::Generators::TestCase.new 'pending'
24
+ self.test_unit_test_case_delegate.class.tests(describes)
25
+ end
30
26
 
31
- module InstanceMethods
32
- def invoke_task name
33
- capture(:stdout) { generator.invoke_task(generator_class.all_tasks[name.to_s]) }
34
- end
35
- end
27
+ def run_generator(given_args=self.default_arguments, config={})
28
+ args, opts = Thor::Options.split(given_args)
29
+ capture(:stdout) { generator(args, opts, config).invoke_all }
30
+ end
31
+ end
36
32
 
37
- included do
38
- delegate :run_generator, :destination, :arguments, :to => :'self.class'
39
- DELEGATED_METHODS.each do |method|
40
- delegate method, :to => :'self.class'
41
- end
42
- initialize_delegate
33
+ module InstanceMethods
34
+ def invoke_task name
35
+ capture(:stdout) { generator.invoke_task(generator_class.all_tasks[name.to_s]) }
36
+ end
37
+ end
43
38
 
44
- subject { generator }
39
+ included do
40
+ delegate :run_generator, :destination, :arguments, :to => :'self.class'
41
+ DELEGATED_METHODS.each do |method|
42
+ delegate method, :to => :'self.class'
43
+ end
44
+ initialize_delegate
45
45
 
46
- before do
47
- self.class.initialize_delegate
48
- destination_root_is_set?
49
- ensure_current_path
50
- end
51
- after do
52
- ensure_current_path
53
- end
54
- metadata[:type] = :generator
55
- end
46
+ subject { generator }
47
+
48
+ before do
49
+ self.class.initialize_delegate
50
+ destination_root_is_set?
51
+ ensure_current_path
52
+ end
53
+ after do
54
+ ensure_current_path
55
+ end
56
+ metadata[:type] = :generator
57
+ end
56
58
 
57
- def file relative
58
- File.expand_path(relative, destination_root)
59
+ def file relative
60
+ File.expand_path(relative, destination_root)
61
+ end
62
+ end
59
63
  end
60
64
  end
61
65
  end
@@ -1,3 +1,3 @@
1
1
  module Ammeter
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,12 +1,12 @@
1
1
  require "spec_helper"
2
2
 
3
- module RSpec::Rails
3
+ module Ammeter::RSpec::Rails
4
4
  describe GeneratorExampleGroup do
5
5
  it { should be_included_in_files_in('./spec/generators/') }
6
6
  it { should be_included_in_files_in('.\\spec\\generators\\') }
7
7
 
8
8
  let(:group) do
9
- RSpec::Core::ExampleGroup.describe do
9
+ ::RSpec::Core::ExampleGroup.describe do
10
10
  include GeneratorExampleGroup
11
11
  end
12
12
  end
@@ -15,7 +15,7 @@ describe "contain" do
15
15
  it { should contain /this text/ }
16
16
  it { should_not contain /something not there/ }
17
17
  end
18
-
18
+
19
19
  context "when the file is not there" do
20
20
  it 'raises an error when the file does not exist' do
21
21
  expect do
@@ -9,5 +9,5 @@ describe "exist" do
9
9
  File.stub(:exists?).with('/some/file/path').and_return(false)
10
10
  '/some/file/path'.should_not exist
11
11
  end
12
-
12
+
13
13
  end
@@ -1,6 +1,6 @@
1
1
  require 'rails/all'
2
2
  require 'rspec/rails'
3
- require 'ammeter'
3
+ require 'ammeter/init'
4
4
 
5
5
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
6
6
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ammeter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 3
10
- version: 0.0.3
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alex Rothenberg
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-06-11 00:00:00 -04:00
18
+ date: 2011-06-21 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -156,24 +156,19 @@ files:
156
156
  - features/templates/rspec.rake
157
157
  - lib/.DS_Store
158
158
  - lib/ammeter.rb
159
+ - lib/ammeter/init.rb
160
+ - lib/ammeter/railtie.rb
159
161
  - lib/ammeter/rspec/generator/example.rb
160
162
  - lib/ammeter/rspec/generator/example/generator_example_group.rb
161
- - lib/ammeter/rspec/generator/matcher.rb
163
+ - lib/ammeter/rspec/generator/matchers.rb
162
164
  - lib/ammeter/rspec/generator/matchers/be_a_migration.rb
163
165
  - lib/ammeter/rspec/generator/matchers/contain.rb
164
166
  - lib/ammeter/rspec/generator/matchers/exist.rb
165
167
  - lib/ammeter/version.rb
166
- - spec/rspec/rails/generator/example/generator_example_group_spec.rb
167
- - spec/rspec/rails/generator/matchers/be_a_migration_spec.rb
168
- - spec/rspec/rails/generator/matchers/be_a_new_spec.rb
169
- - spec/rspec/rails/generator/matchers/be_new_record_spec.rb
170
- - spec/rspec/rails/generator/matchers/be_routable_spec.rb
171
- - spec/rspec/rails/generator/matchers/contain_spec.rb
172
- - spec/rspec/rails/generator/matchers/errors_on_spec.rb
173
- - spec/rspec/rails/generator/matchers/exist_spec.rb
174
- - spec/rspec/rails/generator/matchers/redirect_to_spec.rb
175
- - spec/rspec/rails/generator/matchers/render_template_spec.rb
176
- - spec/rspec/rails/generator/matchers/route_to_spec.rb
168
+ - spec/ammeter/rspec/rails/generator/example/generator_example_group_spec.rb
169
+ - spec/ammeter/rspec/rails/generator/matchers/be_a_migration_spec.rb
170
+ - spec/ammeter/rspec/rails/generator/matchers/contain_spec.rb
171
+ - spec/ammeter/rspec/rails/generator/matchers/exist_spec.rb
177
172
  - spec/spec_helper.rb
178
173
  - spec/support/helpers.rb
179
174
  has_rdoc: true
@@ -215,16 +210,9 @@ test_files:
215
210
  - features/support/env.rb
216
211
  - features/templates/generate_example_app.rb
217
212
  - features/templates/rspec.rake
218
- - spec/rspec/rails/generator/example/generator_example_group_spec.rb
219
- - spec/rspec/rails/generator/matchers/be_a_migration_spec.rb
220
- - spec/rspec/rails/generator/matchers/be_a_new_spec.rb
221
- - spec/rspec/rails/generator/matchers/be_new_record_spec.rb
222
- - spec/rspec/rails/generator/matchers/be_routable_spec.rb
223
- - spec/rspec/rails/generator/matchers/contain_spec.rb
224
- - spec/rspec/rails/generator/matchers/errors_on_spec.rb
225
- - spec/rspec/rails/generator/matchers/exist_spec.rb
226
- - spec/rspec/rails/generator/matchers/redirect_to_spec.rb
227
- - spec/rspec/rails/generator/matchers/render_template_spec.rb
228
- - spec/rspec/rails/generator/matchers/route_to_spec.rb
213
+ - spec/ammeter/rspec/rails/generator/example/generator_example_group_spec.rb
214
+ - spec/ammeter/rspec/rails/generator/matchers/be_a_migration_spec.rb
215
+ - spec/ammeter/rspec/rails/generator/matchers/contain_spec.rb
216
+ - spec/ammeter/rspec/rails/generator/matchers/exist_spec.rb
229
217
  - spec/spec_helper.rb
230
218
  - spec/support/helpers.rb
@@ -1,137 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "be_a_new matcher" do
4
- context "new record" do
5
- let(:record) do
6
- Class.new do
7
- def new_record?; true; end
8
- end.new
9
- end
10
- context "right class" do
11
- it "passes" do
12
- record.should be_a_new(record.class)
13
- end
14
- end
15
- context "wrong class" do
16
- it "fails" do
17
- record.should_not be_a_new(String)
18
- end
19
- end
20
- end
21
-
22
- context "existing record" do
23
- let(:record) do
24
- Class.new do
25
- def new_record?; false; end
26
- end.new
27
- end
28
- context "right class" do
29
- it "fails" do
30
- record.should_not be_a_new(record.class)
31
- end
32
- end
33
- context "wrong class" do
34
- it "fails" do
35
- record.should_not be_a_new(String)
36
- end
37
- end
38
- end
39
-
40
- describe "#with" do
41
- context "right class and new record" do
42
- let(:record) do
43
- Class.new do
44
- def initialize(attributes)
45
- @attributes = attributes
46
- end
47
-
48
- def attributes
49
- @attributes.stringify_keys
50
- end
51
-
52
- def new_record?; true; end
53
- end.new(:foo => 'foo', :bar => 'bar')
54
- end
55
-
56
- context "all attributes same" do
57
- it "passes" do
58
- record.should be_a_new(record.class).with(:foo => 'foo', :bar => 'bar')
59
- end
60
- end
61
-
62
- context "one attribute same" do
63
- it "passes" do
64
- record.should be_a_new(record.class).with(:foo => 'foo')
65
- end
66
- end
67
-
68
- context "no attributes same" do
69
- it "fails" do
70
- expect {
71
- record.should be_a_new(record.class).with(:zoo => 'zoo', :car => 'car')
72
- }.to raise_error(
73
- %Q(attributes {"zoo"=>"zoo", "car"=>"car"} were not set on #{record.inspect})
74
- )
75
- end
76
- end
77
-
78
- context "one attribute value not the same" do
79
- it "fails" do
80
- expect {
81
- record.should be_a_new(record.class).with(:foo => 'bar')
82
- }.to raise_error(
83
- %Q(attribute {"foo"=>"bar"} was not set on #{record.inspect})
84
- )
85
- end
86
- end
87
- end
88
-
89
- context "wrong class and existing record" do
90
- let(:record) do
91
- Class.new do
92
- def initialize(attributes)
93
- @attributes = attributes
94
- end
95
-
96
- def attributes
97
- @attributes.stringify_keys
98
- end
99
-
100
- def new_record?; false; end
101
- end.new(:foo => 'foo', :bar => 'bar')
102
- end
103
-
104
- context "all attributes same" do
105
- it "fails" do
106
- expect {
107
- record.should be_a_new(String).with(:foo => 'foo', :bar => 'bar')
108
- }.to raise_error(
109
- "expected #{record.inspect} to be a new String"
110
- )
111
- end
112
- end
113
-
114
- context "no attributes same" do
115
- it "fails" do
116
- expect {
117
- record.should be_a_new(String).with(:zoo => 'zoo', :car => 'car')
118
- }.to raise_error(
119
- "expected #{record.inspect} to be a new String and " +
120
- %Q(attributes {"zoo"=>"zoo", "car"=>"car"} were not set on #{record.inspect})
121
- )
122
- end
123
- end
124
-
125
- context "one attribute value not the same" do
126
- it "fails" do
127
- expect {
128
- record.should be_a_new(String).with(:foo => 'bar')
129
- }.to raise_error(
130
- "expected #{record.inspect} to be a new String and " +
131
- %Q(attribute {"foo"=>"bar"} was not set on #{record.inspect})
132
- )
133
- end
134
- end
135
- end
136
- end
137
- end
@@ -1,17 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "be_new_record" do
4
- context "un-persisted record" do
5
- it "passes" do
6
- record = double('record', :persisted? => false)
7
- record.should be_new_record
8
- end
9
- end
10
-
11
- context "persisted record" do
12
- it "fails" do
13
- record = double('record', :persisted? => true)
14
- record.should_not be_new_record
15
- end
16
- end
17
- end
@@ -1,41 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "be_routable" do
4
- include RSpec::Rails::Matchers::RoutingMatchers
5
- attr_reader :routes
6
-
7
- before { @routes = double("routes") }
8
-
9
- context "with should" do
10
- it "passes if routes recognize the path" do
11
- routes.stub(:recognize_path) { {} }
12
- expect do
13
- {:get => "/a/path"}.should be_routable
14
- end.to_not raise_error
15
- end
16
-
17
- it "fails if routes do not recognize the path" do
18
- routes.stub(:recognize_path) { raise ActionController::RoutingError.new('ignore') }
19
- expect do
20
- {:get => "/a/path"}.should be_routable
21
- end.to raise_error(/expected \{:get=>"\/a\/path"\} to be routable/)
22
- end
23
- end
24
-
25
- context "with should_not" do
26
-
27
- it "passes if routes do not recognize the path" do
28
- routes.stub(:recognize_path) { raise ActionController::RoutingError.new('ignore') }
29
- expect do
30
- {:get => "/a/path"}.should_not be_routable
31
- end.to_not raise_error
32
- end
33
-
34
- it "fails if routes recognize the path" do
35
- routes.stub(:recognize_path) { {:controller => "foo"} }
36
- expect do
37
- {:get => "/a/path"}.should_not be_routable
38
- end.to raise_error(/expected \{:get=>"\/a\/path"\} not to be routable, but it routes to \{:controller=>"foo"\}/)
39
- end
40
- end
41
- end
@@ -1,38 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "error_on" do
4
- it "provides a description including the name of what the error is on" do
5
- have(1).error_on(:whatever).description.should == "have 1 error on :whatever"
6
- end
7
-
8
- it "provides a failure message including the number actually given" do
9
- lambda {
10
- [].should have(1).error_on(:whatever)
11
- }.should raise_error("expected 1 error on :whatever, got 0")
12
- end
13
- end
14
-
15
- describe "errors_on" do
16
- it "provides a description including the name of what the error is on" do
17
- have(2).errors_on(:whatever).description.should == "have 2 errors on :whatever"
18
- end
19
-
20
- it "provides a failure message including the number actually given" do
21
- lambda {
22
- [1].should have(3).errors_on(:whatever)
23
- }.should raise_error("expected 3 errors on :whatever, got 1")
24
- end
25
- end
26
-
27
- describe "have something other than error_on or errors_on" do
28
- it "has a standard rspec failure message" do
29
- lambda {
30
- [1,2,3].should have(2).elements
31
- }.should raise_error("expected 2 elements, got 3")
32
- end
33
-
34
- it "has a standard rspec description" do
35
- have(2).elements.description.should == "have 2 elements"
36
- end
37
- end
38
-
@@ -1,79 +0,0 @@
1
- require "spec_helper"
2
- require "active_support/test_case"
3
-
4
- describe "redirect_to" do
5
- include RSpec::Rails::Matchers::RedirectTo
6
-
7
- let(:response) { ActionController::TestResponse.new }
8
-
9
- it "delegates to assert_redirected_to" do
10
- self.should_receive(:assert_redirected_to).with("destination")
11
- "response".should redirect_to("destination")
12
- end
13
-
14
- context "with should" do
15
- context "when assert_redirected_to passes" do
16
- it "passes" do
17
- self.stub!(:assert_redirected_to)
18
- expect do
19
- response.should redirect_to("destination")
20
- end.to_not raise_exception
21
- end
22
- end
23
-
24
- context "when assert_redirected_to fails" do
25
- it "uses failure message from assert_redirected_to" do
26
- self.stub!(:assert_redirected_to) do
27
- raise ActiveSupport::TestCase::Assertion.new("this message")
28
- end
29
- expect do
30
- response.should redirect_to("destination")
31
- end.to raise_error("this message")
32
- end
33
- end
34
-
35
- context "when fails due to some other exception" do
36
- it "raises that exception" do
37
- self.stub!(:assert_redirected_to) do
38
- raise "oops"
39
- end
40
- expect do
41
- response.should redirect_to("destination")
42
- end.to raise_exception("oops")
43
- end
44
- end
45
- end
46
-
47
- context "with should_not" do
48
- context "when assert_redirected_to fails" do
49
- it "passes" do
50
- self.stub!(:assert_redirected_to) do
51
- raise ActiveSupport::TestCase::Assertion.new("this message")
52
- end
53
- expect do
54
- response.should_not redirect_to("destination")
55
- end.to_not raise_exception
56
- end
57
- end
58
-
59
- context "when assert_redirected_to passes" do
60
- it "fails with custom failure message" do
61
- self.stub!(:assert_redirected_to)
62
- expect do
63
- response.should_not redirect_to("destination")
64
- end.to raise_error(/expected not to redirect to \"destination\", but did/)
65
- end
66
- end
67
-
68
- context "when fails due to some other exception" do
69
- it "raises that exception" do
70
- self.stub!(:assert_redirected_to) do
71
- raise "oops"
72
- end
73
- expect do
74
- response.should_not redirect_to("destination")
75
- end.to raise_exception("oops")
76
- end
77
- end
78
- end
79
- end
@@ -1,93 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "render_template" do
4
- include RSpec::Rails::Matchers::RenderTemplate
5
- let(:response) { ActionController::TestResponse.new }
6
-
7
- context "given a hash" do
8
- it "delegates to assert_template" do
9
- self.should_receive(:assert_template).with({:this => "hash"}, "this message")
10
- "response".should render_template({:this => "hash"}, "this message")
11
- end
12
- end
13
-
14
- context "given a string" do
15
- it "delegates to assert_template" do
16
- self.should_receive(:assert_template).with("this string", "this message")
17
- "response".should render_template("this string", "this message")
18
- end
19
- end
20
-
21
- context "given a symbol" do
22
- it "converts to_s and delegates to assert_template" do
23
- self.should_receive(:assert_template).with("template_name", "this message")
24
- "response".should render_template(:template_name, "this message")
25
- end
26
- end
27
-
28
- context "with should" do
29
- context "when assert_template passes" do
30
- it "passes" do
31
- self.stub!(:assert_template)
32
- expect do
33
- response.should render_template("template_name")
34
- end.to_not raise_exception
35
- end
36
- end
37
-
38
- context "when assert_template fails" do
39
- it "uses failure message from assert_template" do
40
- self.stub!(:assert_template) do
41
- raise ActiveSupport::TestCase::Assertion.new("this message")
42
- end
43
- expect do
44
- response.should render_template("template_name")
45
- end.to raise_error("this message")
46
- end
47
- end
48
-
49
- context "when fails due to some other exception" do
50
- it "raises that exception" do
51
- self.stub!(:assert_template) do
52
- raise "oops"
53
- end
54
- expect do
55
- response.should render_template("template_name")
56
- end.to raise_exception("oops")
57
- end
58
- end
59
- end
60
-
61
- context "with should_not" do
62
- context "when assert_template fails" do
63
- it "passes" do
64
- self.stub!(:assert_template) do
65
- raise ActiveSupport::TestCase::Assertion.new("this message")
66
- end
67
- expect do
68
- response.should_not render_template("template_name")
69
- end.to_not raise_exception
70
- end
71
- end
72
-
73
- context "when assert_template passes" do
74
- it "fails with custom failure message" do
75
- self.stub!(:assert_template)
76
- expect do
77
- response.should_not render_template("template_name")
78
- end.to raise_error(/expected not to render \"template_name\", but did/)
79
- end
80
- end
81
-
82
- context "when fails due to some other exception" do
83
- it "raises that exception" do
84
- self.stub!(:assert_template) do
85
- raise "oops"
86
- end
87
- expect do
88
- response.should_not render_template("template_name")
89
- end.to raise_exception("oops")
90
- end
91
- end
92
- end
93
- end
@@ -1,99 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe "route_to" do
4
- include RSpec::Rails::Matchers::RoutingMatchers
5
- include RSpec::Rails::Matchers::RoutingMatchers::RouteHelpers
6
-
7
- it "delegates to assert_recognizes" do
8
- self.should_receive(:assert_recognizes).with({ "these" => "options" }, { :method=> :get, :path=>"path" })
9
- {:get => "path"}.should route_to("these" => "options")
10
- end
11
-
12
- context "with shortcut syntax" do
13
-
14
- it "routes with extra options" do
15
- self.should_receive(:assert_recognizes).with({ :controller => "controller", :action => "action", :extra => "options"}, { :method=> :get, :path=>"path" })
16
- get("path").should route_to("controller#action", :extra => "options")
17
- end
18
-
19
- it "routes without extra options" do
20
- self.should_receive(:assert_recognizes).with({ :controller => "controller", :action => "action"}, { :method=> :get, :path=>"path" })
21
- get("path").should route_to("controller#action")
22
- end
23
-
24
- end
25
-
26
- context "with should" do
27
- context "when assert_recognizes passes" do
28
- it "passes" do
29
- self.stub!(:assert_recognizes)
30
- expect do
31
- {:get => "path"}.should route_to("these" => "options")
32
- end.to_not raise_exception
33
- end
34
- end
35
-
36
- context "when assert_recognizes fails" do
37
- it "fails with message from assert_recognizes" do
38
- self.stub!(:assert_recognizes) do
39
- raise ActiveSupport::TestCase::Assertion.new("this message")
40
- end
41
- expect do
42
- {:get => "path"}.should route_to("these" => "options")
43
- end.to raise_error("this message")
44
- end
45
- end
46
-
47
- context "when an exception is raised" do
48
- it "raises that exception" do
49
- self.stub!(:assert_recognizes) do
50
- raise "oops"
51
- end
52
- expect do
53
- {:get => "path"}.should route_to("these" => "options")
54
- end.to raise_exception("oops")
55
- end
56
- end
57
- end
58
-
59
- context "with should_not" do
60
- context "when assert_recognizes passes" do
61
- it "fails with custom message" do
62
- self.stub!(:assert_recognizes)
63
- expect do
64
- {:get => "path"}.should_not route_to("these" => "options")
65
- end.to raise_error(/expected .* not to route to .*/)
66
- end
67
- end
68
-
69
- context "when assert_recognizes fails" do
70
- it "passes" do
71
- self.stub!(:assert_recognizes) do
72
- raise ActiveSupport::TestCase::Assertion.new("this message")
73
- end
74
- expect do
75
- {:get => "path"}.should_not route_to("these" => "options")
76
- end.to_not raise_error
77
- end
78
- end
79
-
80
- context "when an exception is raised" do
81
- it "raises that exception" do
82
- self.stub!(:assert_recognizes) do
83
- raise "oops"
84
- end
85
- expect do
86
- {:get => "path"}.should_not route_to("these" => "options")
87
- end.to raise_exception("oops")
88
- end
89
- end
90
- end
91
- it "uses failure message from assert_recognizes" do
92
- self.stub!(:assert_recognizes).and_raise(
93
- ActiveSupport::TestCase::Assertion.new("this message"))
94
- expect do
95
- {"this" => "path"}.should route_to("these" => "options")
96
- end.to raise_error("this message")
97
- end
98
- end
99
-