Sha256: 4a319c550c11e463d56a8a6aa57cd6c8ae5da3f355bc3436b99131c4daa3a00d
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'spec_helper' # Non-database model derived from: http://railscasts.com/episodes/219-active-model module Calagator class ModelWithoutDecodeHack include ActiveModel::Callbacks include ActiveModel::Validations include ActiveModel::Conversion extend ActiveModel::Naming define_callbacks :validate attr_accessor :kitten def initialize(attributes = {}) attributes.each do |name, value| send("#{name}=", value) end end def persisted? false end def attributes { kitten: kitten } end end # Same as above but with the mixin class ModelWithDecodeHack < ModelWithoutDecodeHack include DecodeHtmlEntitiesHack end describe DecodeHtmlEntitiesHack, type: :model do let(:encoded_string) { 'cute & furry' } let(:decoded_string) { 'cute & furry' } it "should not modify attributes in models that don't include it" do record = ModelWithoutDecodeHack.new(kitten: encoded_string) expect(record).to be_valid expect(record.kitten).to eq encoded_string end it 'should modify attributes in models that include it' do record = ModelWithDecodeHack.new(kitten: encoded_string) expect(record).to be_valid expect(record.kitten).to eq decoded_string end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
calagator-1.1.0 | spec/lib/calagator/decode_html_entities_hack_spec.rb |