Sha256: 5d6436693b2fe9c75fe0885bc49ad3e91615466e7c3feb7d4ddafacf81948eb2

Contents?: true

Size: 1.69 KB

Versions: 21

Compression:

Stored size: 1.69 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe RailsAdminSettings::Setting do
  it { should have_fields(:enabled, :key, :type, :raw) }

  it "correctly return content when enabled" do
    setting = FactoryGirl.create(:setting)
    setting.to_s.should eq "Контент 1"
  end

  it "return empty string when disabled" do
    setting = FactoryGirl.create(:setting, enabled: false)
    setting.to_s.should eq ""
  end

  it "correctly process {{year}}" do
    setting = FactoryGirl.create(:setting, raw: '© {{year}} company')
    setting.val.should eq "© #{Time.now.strftime('%Y')} company"
  end

  it "correctly process {{year|2010}}" do
    setting = FactoryGirl.create(:setting, raw: '© {{year|2010}} company')
    setting.val.should eq "© 2010-#{Time.now.strftime('%Y')} company"
  end

  it "correctly process {{year|current_year}}" do
    setting = FactoryGirl.create(:setting, raw: '© {{year|' + Time.now.strftime('%Y') + '}} company')
    setting.val.should eq "© #{Time.now.strftime('%Y')} company"
    setting.val.class.name.should_not eq "ActiveSupport::SafeBuffer"
  end

  it 'return html_safe string when in html mode' do
    setting = FactoryGirl.create(:setting, raw: '© {{year}} company', type: 'html')
    setting.val.should eq "© #{Time.now.strftime('%Y')} company"
    setting.val.class.name.should eq "ActiveSupport::SafeBuffer"
  end

  it 'sanitize html when in sanitized mode' do
    setting = FactoryGirl.create(:setting, raw: '&copy; {{year}} company <a href="javascript:alert()">test</a>', type: 'sanitized')
    setting.val.should eq "© #{Time.now.strftime('%Y')} company <a>test</a>"
    setting.val.class.name.should eq "ActiveSupport::SafeBuffer"
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
rails_admin_settings-0.7.8 spec/model_spec.rb
rails_admin_settings-0.7.7 spec/model_spec.rb
rails_admin_settings-0.7.6 spec/model_spec.rb
rails_admin_settings-0.7.5 spec/model_spec.rb
rails_admin_settings-0.7.4 spec/model_spec.rb
rails_admin_settings-0.7.3 spec/model_spec.rb
rails_admin_settings-0.7.2 spec/model_spec.rb
rails_admin_settings-0.7.1 spec/model_spec.rb
rails_admin_settings-0.7.0 spec/model_spec.rb
rails_admin_settings-0.6.8 spec/model_spec.rb
rails_admin_settings-0.6.7 spec/model_spec.rb
rails_admin_settings-0.6.5 spec/model_spec.rb
rails_admin_settings-0.6.4 spec/model_spec.rb
rails_admin_settings-0.6.3 spec/model_spec.rb
rails_admin_settings-0.6.2 spec/model_spec.rb
rails_admin_settings-0.6.1 spec/model_spec.rb
rails_admin_settings-0.6.0 spec/model_spec.rb
rails_admin_settings-0.5.5 spec/model_spec.rb
rails_admin_settings-0.5.4 spec/model_spec.rb
rails_admin_settings-0.5.3 spec/model_spec.rb