aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test/template/form_options_helper_test.rb
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2015-11-22 14:19:33 +0100
committerKasper Timm Hansen <kaspth@gmail.com>2015-11-22 14:19:33 +0100
commit58910dc7b1805fae777cbc510cf58f625689299c (patch)
tree3d672bddde873d45b85131296dc33aa117231755 /actionview/test/template/form_options_helper_test.rb
parent0b9812bddea50f974d51175ae81bfd6d8407f946 (diff)
parenta2a51913305ac59340928b0293faaa436678af50 (diff)
downloadrails-58910dc7b1805fae777cbc510cf58f625689299c.tar.gz
rails-58910dc7b1805fae777cbc510cf58f625689299c.tar.bz2
rails-58910dc7b1805fae777cbc510cf58f625689299c.zip
Merge pull request #21615 from ronakjangir47/actionViewpart2
Removed Mocha from Action View
Diffstat (limited to 'actionview/test/template/form_options_helper_test.rb')
-rw-r--r--actionview/test/template/form_options_helper_test.rb44
1 files changed, 31 insertions, 13 deletions
diff --git a/actionview/test/template/form_options_helper_test.rb b/actionview/test/template/form_options_helper_test.rb
index d7daba8bf3..6eb02bcc03 100644
--- a/actionview/test/template/form_options_helper_test.rb
+++ b/actionview/test/template/form_options_helper_test.rb
@@ -17,13 +17,36 @@ class FormOptionsHelperTest < ActionView::TestCase
Album = Struct.new('Album', :id, :title, :genre)
end
- def setup
- @fake_timezones = %w(A B C D E).map do |id|
- tz = stub(:name => id, :to_s => id)
- ActiveSupport::TimeZone.stubs(:[]).with(id).returns(tz)
- tz
+ module FakeZones
+ FakeZone = Struct.new(:name) do
+ def to_s; name; end
+ end
+
+ ZONES_BY_ID = %w(A B C D E).map { |id| [ id, FakeZone.new(id) ] }.to_h
+
+ module ClassMethods
+ def [](id); use_fake_zones ? ZONES_BY_ID[id] : super(id); end
+ def all; use_fake_zones ? ZONES_BY_ID.values : super; end
+ def dummy; :test; end
+ end
+
+ def self.prepended(base)
+ class << base
+ mattr_accessor(:use_fake_zones) { false }
+ prepend ClassMethods
+ end
end
- ActiveSupport::TimeZone.stubs(:all).returns(@fake_timezones)
+ end
+
+ ActiveSupport::TimeZone.prepend FakeZones
+
+ setup do
+ @fake_timezones = FakeZones::ZONES_BY_ID.values
+ ActiveSupport::TimeZone.use_fake_zones = true
+ end
+
+ teardown do
+ ActiveSupport::TimeZone.use_fake_zones = false
end
def test_collection_options
@@ -1164,7 +1187,7 @@ class FormOptionsHelperTest < ActionView::TestCase
@firm = Firm.new("D")
@fake_timezones.each_with_index do |tz, i|
- tz.stubs(:=~).returns(i.zero? || i == 3)
+ def tz.=~(re); %(A D).include?(name) end
end
html = time_zone_select("firm", "time_zone", /A|D/)
@@ -1182,12 +1205,7 @@ class FormOptionsHelperTest < ActionView::TestCase
def test_time_zone_select_with_priority_zones_as_regexp_using_grep_finds_no_zones
@firm = Firm.new("D")
- priority_zones = /A|D/
- @fake_timezones.each do |tz|
- priority_zones.stubs(:===).with(tz).raises(Exception)
- end
-
- html = time_zone_select("firm", "time_zone", priority_zones)
+ html = time_zone_select("firm", "time_zone", /A|D/)
assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
"<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
"<option value=\"A\">A</option>\n" +