Commit c76304736452ef9431eaa92d13a267807d103f02
Committed by
Antonio Terceiro
1 parent
3bb18c5d
Exists in
master
and in
29 other branches
Support for testing specific themes in development mode
Showing
2 changed files
with
17 additions
and
0 deletions
Show diff stats
app/helpers/application_helper.rb
| ... | ... | @@ -333,6 +333,8 @@ module ApplicationHelper |
| 333 | 333 | if ENV['RAILS_ENV'] == 'development' && environment.theme == 'random' |
| 334 | 334 | @random_theme ||= Dir.glob('public/designs/themes/*').map { |f| File.basename(f) }.rand |
| 335 | 335 | @random_theme |
| 336 | + elsif ENV['RAILS_ENV'] == 'development' && params[:theme] | |
| 337 | + params[:theme] | |
| 336 | 338 | else |
| 337 | 339 | if profile |
| 338 | 340 | profile.theme | ... | ... |
test/unit/application_helper_test.rb
| ... | ... | @@ -538,6 +538,21 @@ class ApplicationHelperTest < Test::Unit::TestCase |
| 538 | 538 | assert_match(/(\?|&)size=50(&|$)/, url) |
| 539 | 539 | end |
| 540 | 540 | |
| 541 | + should 'use theme passed via param when in development mode' do | |
| 542 | + stubs(:environment).returns(Environment.new(:theme => 'environment-theme')) | |
| 543 | + ENV.stubs(:[]).with('RAILS_ENV').returns('development') | |
| 544 | + self.stubs(:params).returns({:theme => 'my-theme'}) | |
| 545 | + assert_equal 'my-theme', current_theme | |
| 546 | + end | |
| 547 | + | |
| 548 | + should 'not use theme passed via param when in production mode' do | |
| 549 | + stubs(:environment).returns(Environment.new(:theme => 'environment-theme')) | |
| 550 | + ENV.stubs(:[]).with('RAILS_ENV').returns('production') | |
| 551 | + self.stubs(:params).returns({:theme => 'my-theme'}) | |
| 552 | + stubs(:profile).returns(Profile.new(:theme => 'profile-theme')) | |
| 553 | + assert_equal 'profile-theme', current_theme | |
| 554 | + end | |
| 555 | + | |
| 541 | 556 | protected |
| 542 | 557 | |
| 543 | 558 | def url_for(args = {}) | ... | ... |