Sha256: db26e6a27386fa67ea093d342e437bba95ff39fcf484c86d8c5093c0dd87b42e

Contents?: true

Size: 1.74 KB

Versions: 16

Compression:

Stored size: 1.74 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

16 entries across 16 versions & 1 rubygems

Version Path
rails_admin_settings-0.5.0 spec/model_spec.rb
rails_admin_settings-0.4.3 spec/model_spec.rb
rails_admin_settings-0.4.2 spec/model_spec.rb
rails_admin_settings-0.4.1 spec/model_spec.rb
rails_admin_settings-0.4.0 spec/model_spec.rb
rails_admin_settings-0.3.9 spec/model_spec.rb
rails_admin_settings-0.3.8 spec/model_spec.rb
rails_admin_settings-0.3.7 spec/model_spec.rb
rails_admin_settings-0.3.6 spec/model_spec.rb
rails_admin_settings-0.3.4 spec/model_spec.rb
rails_admin_settings-0.3.3 spec/model_spec.rb
rails_admin_settings-0.3.2 spec/model_spec.rb
rails_admin_settings-0.3.1 spec/model_spec.rb
rails_admin_settings-0.3.0 spec/model_spec.rb
rails_admin_settings-0.2.0 spec/model_spec.rb
rails_admin_settings-0.1.0 spec/model_spec.rb