Sha256: 95fab91030b97a2681f73a92a972b214f235e5a7987dde8b32bdc335d761157b

Contents?: true

Size: 1.13 KB

Versions: 54

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'

describe Locomotive::Steam::Liquid::Tags::SessionAssign do

  let(:source)    { '{% session_assign title=42 %}' }
  let(:session)   { Hash.new }
  let(:request)   { instance_double('Request', session: session) }
  let(:assigns)   { {} }
  let(:context)   { ::Liquid::Context.new(assigns, {}, { request: request }) }

  let(:output)    { render_template(source, context) }

  subject { session[:title] }

  it { expect(output).to eq '' }

  describe 'parsing' do

    context 'wrong syntax' do

      let(:source) { '{% session_assign title %}' }
      it { expect { output }.to raise_error(::Liquid::SyntaxError) }

    end

  end

  describe 'store the object in the session' do

    before { output }

    it { is_expected.to eq 42 }

    describe 'the object is a string' do

      let(:source) { '{% session_assign title = "Hello world" %}' }
      it { is_expected.to eq 'Hello world' }

    end

    describe 'the object is a variable' do

      let(:assigns) { { 'product' => { 'name' => 'Snow!' } } }
      let(:source)  { '{% session_assign title = product.name %}' }
      it { is_expected.to eq 'Snow!' }

    end

  end

end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
locomotivecms_steam-1.8.0.alpha2 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.8.0.alpha1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.7.1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.7.0 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.6.1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.6.0 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.6.0.rc1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.6.0.beta1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.3 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.2 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.0 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.0.rc1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.0.rc0 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.0.beta3 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.0.beta2 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.5.0.beta1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.4.1 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.4.0 spec/unit/liquid/tags/session_assign_spec.rb
locomotivecms_steam-1.4.0.rc2 spec/unit/liquid/tags/session_assign_spec.rb