Commit 32f88e655612ac6a1b15cf241e3689cf2852c2f6
1 parent
174636fa
Exists in
master
and in
29 other branches
Remove Evil™ manipulation of constants
Showing
4 changed files
with
13 additions
and
26 deletions
Show diff stats
test/test_helper.rb
... | ... | @@ -277,16 +277,4 @@ class ActionController::IntegrationTest |
277 | 277 | |
278 | 278 | end |
279 | 279 | |
280 | -def with_constants(constants, &block) | |
281 | - old_constants = Hash.new | |
282 | - constants.each do |constant, val| | |
283 | - old_constants[constant] = Object.const_get(constant) | |
284 | - silence_stderr{ Object.const_set(constant, val) } | |
285 | - end | |
286 | - block.call | |
287 | - old_constants.each do |constant, val| | |
288 | - silence_stderr{ Object.const_set(constant, val) } | |
289 | - end | |
290 | -end | |
291 | - | |
292 | 280 | Profile | ... | ... |
test/unit/application_helper_test.rb
... | ... | @@ -472,13 +472,13 @@ class ApplicationHelperTest < ActionView::TestCase |
472 | 472 | profile = mock |
473 | 473 | profile.stubs(:theme).returns('some-theme') |
474 | 474 | stubs(:profile).returns(profile) |
475 | - with_constants :NOOSFERO_CONF => {'gravatar' => 'crazyvatar'} do | |
476 | - assert_equal gravatar_default, 'crazyvatar' | |
477 | - end | |
475 | + | |
476 | + NOOSFERO_CONF.stubs(:[]).with('gravatar').returns('crazyvatar') | |
477 | + assert_equal gravatar_default, 'crazyvatar' | |
478 | + | |
478 | 479 | stubs(:theme_option).returns('gravatar' => 'nicevatar') |
479 | - with_constants :NOOSFERO_CONF => {'gravatar' => 'crazyvatar'} do | |
480 | - assert_equal gravatar_default, 'nicevatar' | |
481 | - end | |
480 | + NOOSFERO_CONF.stubs(:[]).with('gravatar').returns('nicevatar') | |
481 | + assert_equal gravatar_default, 'nicevatar' | |
482 | 482 | end |
483 | 483 | |
484 | 484 | should 'use theme passed via param when in development mode' do | ... | ... |
test/unit/google_maps_test.rb
... | ... | @@ -3,13 +3,12 @@ require File.dirname(__FILE__) + '/../test_helper' |
3 | 3 | class GoogleMapsTest < ActiveSupport::TestCase |
4 | 4 | |
5 | 5 | should 'provide initial_zoom setting' do |
6 | - with_constants :NOOSFERO_CONF => {'googlemaps_initial_zoom' => 2} do | |
7 | - assert_equal 2, GoogleMaps.initial_zoom | |
8 | - end | |
6 | + NOOSFERO_CONF.stubs(:[]).with('googlemaps_initial_zoom').returns(2) | |
7 | + assert_equal 2, GoogleMaps.initial_zoom | |
9 | 8 | end |
10 | 9 | |
11 | 10 | should 'use 4 as default initial_zoom' do |
12 | - GoogleMaps.stubs(:config).returns({}) | |
11 | + NOOSFERO_CONF.stubs(:[]).with('googlemaps_initial_zoom').returns(nil) | |
13 | 12 | assert_equal 4, GoogleMaps.initial_zoom |
14 | 13 | end |
15 | 14 | ... | ... |
test/unit/mail_conf_test.rb
... | ... | @@ -3,22 +3,22 @@ require File.dirname(__FILE__) + '/../test_helper' |
3 | 3 | class MailConfTest < ActiveSupport::TestCase |
4 | 4 | |
5 | 5 | should 'enable if told to' do |
6 | - NOOSFERO_CONF['mail_enabled'] = true | |
6 | + NOOSFERO_CONF.stubs(:[]).with('mail_enabled').returns(true) | |
7 | 7 | assert_equal true, MailConf.enabled? |
8 | 8 | end |
9 | 9 | |
10 | 10 | should 'disable if told to' do |
11 | - NOOSFERO_CONF['mail_enabled'] = false | |
11 | + NOOSFERO_CONF.stubs(:[]).with('mail_enabled').returns(false) | |
12 | 12 | assert_equal false, MailConf.enabled? |
13 | 13 | end |
14 | 14 | |
15 | 15 | should 'disable by default' do |
16 | - NOOSFERO_CONF['mail_enabled'] = nil | |
16 | + NOOSFERO_CONF.stubs(:[]).with('mail_enabled').returns(nil) | |
17 | 17 | assert_equal false, MailConf.enabled? |
18 | 18 | end |
19 | 19 | |
20 | 20 | should 'provide webmail url preference' do |
21 | - NOOSFERO_CONF['webmail_url'] = 'http://some.url/webmail/%s/%s' | |
21 | + NOOSFERO_CONF.stubs(:[]).with('webmail_url').returns('http://some.url/webmail/%s/%s') | |
22 | 22 | assert_equal 'http://some.url/webmail/login/example.com', MailConf.webmail_url('login', 'example.com') |
23 | 23 | end |
24 | 24 | ... | ... |