Sha256: 97e8a0f5bb0a053c24ebc270db8a9727874df6a2aa508fcdc0948a58d8740bc1

Contents?: true

Size: 1.08 KB

Versions: 24

Compression:

Stored size: 1.08 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 = ->(volt_app, target, context, id) { Volt::ContentBinding.new(volt_app, target, context, id, proc { self[:name] }) }

    templates = {
      'main/main' => {
        'html' => 'hello <!-- $1 --><!-- $/1 -->',
        'bindings' => { 1 => [binding] }
      }
    }

    volt_app = double('volt/app')
    expect(volt_app).to receive(:templates).and_return(templates)



    dom = Volt::AttributeTarget.new(0)

    Volt::TemplateRenderer.new(volt_app, dom, context, 'main', 'main/main')

    expect(dom.to_html).to eq('hello jimmy')
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
volt-0.9.7.pre8 spec/page/bindings/content_binding_spec.rb
volt-0.9.7.pre7 spec/page/bindings/content_binding_spec.rb
volt-0.9.7.pre6 spec/page/bindings/content_binding_spec.rb
volt-0.9.7.pre5 spec/page/bindings/content_binding_spec.rb
volt-0.9.7.pre3 spec/page/bindings/content_binding_spec.rb
volt-0.9.7.pre2 spec/page/bindings/content_binding_spec.rb
volt-0.9.6 spec/page/bindings/content_binding_spec.rb
volt-0.9.6.pre3 spec/page/bindings/content_binding_spec.rb
volt-0.9.6.pre2 spec/page/bindings/content_binding_spec.rb
volt-0.9.6.pre1 spec/page/bindings/content_binding_spec.rb
volt-0.9.5 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre12 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre11 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre9 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre8 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre7 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre6 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre5 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre4 spec/page/bindings/content_binding_spec.rb
volt-0.9.5.pre3 spec/page/bindings/content_binding_spec.rb