Skip to content

Commit 1801e1b

Browse files
vansteealindeman
authored andcommitted
Create facade for switching assertion libraries
This is in preparation of requiring different testing libraries based on the rails version.
1 parent eb0bf9f commit 1801e1b

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

lib/rspec/rails/adapters.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
require 'delegate'
22
require 'active_support/concern'
3-
require 'test/unit/assertions'
43

54
module RSpec
65
module Rails
6+
module Assertions
7+
require 'test/unit/assertions'
8+
include Test::Unit::Assertions
9+
end
10+
711
class AssertionDelegator < Module
812
# @api private
913
def initialize(*assertion_modules)
1014
assertion_class = Class.new(SimpleDelegator) do
11-
include Test::Unit::Assertions
15+
include ::RSpec::Rails::Assertions
1216
include ::RSpec::Rails::MinitestCounters
1317
assertion_modules.each { |mod| include mod }
1418
end
@@ -122,7 +126,7 @@ module ClassMethods
122126
# examples without exposing non-assertion methods in Test::Unit or
123127
# Minitest.
124128
def assertion_method_names
125-
Test::Unit::Assertions.public_instance_methods.select{|m| m.to_s =~ /^(assert|flunk)/} +
129+
::RSpec::Rails::Assertions.public_instance_methods.select{|m| m.to_s =~ /^(assert|flunk)/} +
126130
[:build_message]
127131
end
128132

@@ -139,7 +143,7 @@ def #{m}(*args, &block)
139143
end
140144

141145
class AssertionDelegator
142-
include Test::Unit::Assertions
146+
include ::RSpec::Rails::Assertions
143147
include ::RSpec::Rails::MinitestCounters
144148
end
145149

spec/rspec/rails/assertion_adapter_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
describe RSpec::Rails::TestUnitAssertionAdapter do
44
include RSpec::Rails::TestUnitAssertionAdapter
55

6-
Test::Unit::Assertions.public_instance_methods.select{|m| m.to_s =~ /^(assert|flunk)/}.each do |m|
6+
RSpec::Rails::Assertions.public_instance_methods.select{|m| m.to_s =~ /^(assert|flunk)/}.each do |m|
77
if m.to_s == "assert_equal"
88
it "exposes #{m} to host examples" do
99
assert_equal 3,3

spec/rspec/rails/assertion_delegator_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
describe RSpec::Rails::AssertionDelegator do
44
it "provides a module that delegates assertion methods to an isolated class" do
55
klass = Class.new {
6-
include RSpec::Rails::AssertionDelegator.new(Test::Unit::Assertions)
6+
include RSpec::Rails::AssertionDelegator.new(RSpec::Rails::Assertions)
77
}
88

99
expect(klass.new).to respond_to(:assert)

spec/rspec/rails/mocks/mock_model_spec.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,6 @@
360360
end
361361

362362
describe "ActiveModel Lint tests" do
363-
require 'test/unit/assertions'
364363
require 'active_model/lint'
365364
include RSpec::Rails::TestUnitAssertionAdapter
366365
include ActiveModel::Lint::Tests

0 commit comments

Comments
 (0)