Sha256: 8a00e2735975acd43b60e99be6c00602cc970a6bbcc002ef4bd0322030b9befd
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
require 'spec_helper' describe 'Sequel::Plugins::HashCleaner' do let(:db){ Sequel.mock } let(:model_class){ Class.new(Sequel::Model(db[:test])){ @plugins.clear } } subject { model_class.new } before do model_class.columns :json_field, :other model_class.plugin :hash_cleaner end after do model_class.instance_variable_set :'@plugins', @previous_plugins end it 'clears nil' do subject.json_field = {'value' => nil} subject.json_field.must_equal({}) end it 'clears empty word' do subject.json_field = {'value' => ' '} subject.json_field.must_equal({}) end it 'cleans word' do expected = 'something' subject.json_field = {'value' => "\xC2\xA0 #{expected}\xC2\xA0 "} subject.json_field.must_equal 'value' => expected end it 'doesnt touch inner characters' do expected = "some \t \xC2\xA0 \n thing" subject.json_field = {'value' => "\xC2\xA0 #{expected}\xC2\xA0 "} subject.json_field.must_equal 'value' => expected end it 'doesnt affect falsy values' do expected = 0 subject.json_field = {'value' => expected} subject.json_field.must_equal 'value' => expected expected = false subject.json_field = {'value' => expected} subject.json_field.must_equal 'value' => expected expected = [] subject.json_field = {'value' => expected} subject.json_field.must_equal 'value' => expected end it 'doesnt affect non-hash value' do expected = " can't touch this " subject.json_field = expected subject.json_field.must_equal expected end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sequel-enhancements-0.3.0 | spec/plugins/hash_cleaner_spec.rb |
sequel-enhancements-0.2.0 | spec/plugins/hash_cleaner_spec.rb |