Sha256: 8e148ebb80e810103d53041afea905a6797b16ebe3f65316d96f6d338c2abd1b
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require 'spec_helper' require 'volt/page/bindings/content_binding' require 'volt/page/targets/attribute_target' require 'volt/page/targets/dom_section' require 'volt/page/template_renderer' describe Volt::ContentBinding do it 'should render the content in a content binding' do dom = Volt::AttributeTarget.new(0) context = { name: 'jimmy' } binding = Volt::ContentBinding.new(nil, dom, context, 0, proc { self[:name] }) expect(dom.to_html).to eq('jimmy') end it 'should render with a template' do context = { name: 'jimmy' } binding = ->(page, target, context, id) { Volt::ContentBinding.new(page, target, context, id, proc { self[:name] }) } templates = { 'main/main' => { 'html' => 'hello <!-- $1 --><!-- $/1 -->', 'bindings' => { 1 => [binding] } } } page = double('volt/page') expect(page).to receive(:templates).and_return(templates) dom = Volt::AttributeTarget.new(0) Volt::TemplateRenderer.new(page, dom, context, 'main', 'main/main') expect(dom.to_html).to eq('hello jimmy') end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
volt-0.9.3.pre1 | spec/page/bindings/content_binding_spec.rb |
volt-0.9.2 | spec/page/bindings/content_binding_spec.rb |