Sha256: 92ce2d878207a009b0b766e6e3dd124d685260aba73942f2030f325592beaa0f
Contents?: true
Size: 1.89 KB
Versions: 3
Compression:
Stored size: 1.89 KB
Contents
require 'spec_helper' describe Cmsimple::Snippet do subject { Cmsimple::Snippet.new 'name', {} } it_should_behave_like 'ActiveModel' describe 'options' do let(:snippet) { Cmsimple::Snippet.new 'snippet_0', { name: 'example', snippet: {first_name: 'Fred', last_name: 'Flintstone'} } } it "sets values for name" do snippet.name.should == 'example' end it "sets values for options" do snippet.options.should be_a(Hash) snippet.options[:first_name].should == 'Fred' end it 'can access options with via method calls' do snippet.first_name.should == 'Fred' snippet.last_name.should == 'Flintstone' end it "returns a string to match against the html for interpolations" do snippet.matcher.should =~ '[snippet_0/0]' end end describe 'created via a region' do before do @region = Cmsimple::Region.new(value: "<div>some content</div><div>[snippet_0/0]</div>", snippets: {snippet_0: {name: 'example', first_name: 'Fred', last_name: 'Flinstone' }}) end it "has an array of snippets" do @region.snippets.should be_a(Array) @region.snippets.first.should be_a(Cmsimple::Snippet) end it "sets values for options when not nested under the snippet key" do @region.snippets.first.first_name.should == 'Fred' end describe '#render_snippets' do it 'interpolates the result of the block into the region html' do @region.render_snippets do |snippet| "<span>#{snippet.options[:first_name]} #{snippet.options[:last_name]}</span>" end @region.to_s.should == '<div>some content</div><div><span>Fred Flinstone</span></div>' end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cmsimple-0.2.3 | spec/models/snippet_spec.rb |
cmsimple-0.2.2 | spec/models/snippet_spec.rb |
cmsimple-0.2.0 | spec/models/snippet_spec.rb |