Sha256: 3d965d9c4a00b4ab62797f3c03c335a031e421cfdbfb4a96b033b622ca08b6cc

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'

describe Locomotive::Steam::Liquid::Tags::InheritedBlock do

  let(:parent_source) { 'My product: {% block product %}Random{% endblock %}' }
  let(:parent)        { instance_double('Index', liquid_source: parent_source, template: nil, :template= => nil) }
  let(:source)        { '{% extends parent %}{% block product %}Skis{% endblock %}' }
  let(:page)          { instance_double('Page') }

  let(:listener)      { Liquid::SimpleEventsListener.new }
  let(:finder)        { instance_double('Finder', find: parent) }
  let(:options)       { { page: page, events_listener: listener, parent_finder: finder, parser: Locomotive::Steam::LiquidParserService.new } }

  let!(:template)     { parse_template(source, options) }

  describe 'without a super block' do

    it { expect(listener.events.size).to eq 3 }
    it { expect(listener.events.first.last[:found_super]).to eq false }
    it { expect(template.render).to eq 'My product: Skis' }

  end

  describe 'with a super block' do

    let(:source) { '{% extends parent %}{% block product %}Skis (previous: {{ block.super }}){% endblock %}' }

    it { expect(listener.events.first.last[:found_super]).to eq true }
    it { expect(template.render).to eq 'My product: Skis (previous: Random)' }

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
locomotivecms_steam-1.0.0.pre.alpha spec/unit/liquid/tags/inherited_block_spec.rb