Sha256: 34f1362bdcca2c2b1f93777e1572d5958b4925413b9aacaaade2df037c868136

Contents?: true

Size: 950 Bytes

Versions: 21

Compression:

Stored size: 950 Bytes

Contents

require 'spec_helper'

describe AngularSprinkles::ContentYielder do
  let(:context) { ActionController::Base.new.view_context }
  let(:yield_to) { :yield_to }
  let(:content) { 'content' }

  subject { described_class.new(context: context, cache: cache, yield_to: yield_to) }

  context "when the content hasn't yet been set" do
    let(:cache) { double(set: true, set?: false) }
    let(:script_tag) { "<script>#{content.to_json}</script>" }

    it 'returns a script tag' do
      expect(subject.call(content)).to eq(script_tag)
    end

    it 'appends the content to sprinkles' do
      # this is an important side effect
      expect(context).
        to receive(:content_for).with(yield_to, script_tag)

      subject.call(content)
    end
  end

  context "when the content has been set" do
    let(:cache) { double(set: true, set?: true) }

    it 'returns an empty string' do
      expect(subject.call(content)).to eq('')
    end
  end

end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
angular_sprinkles-0.3.3 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.3.2 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.3.1 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.3.0 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.14 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.13 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.12 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.11 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.10 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.9 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.8 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.7 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.6 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.5 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.4 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.3 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.2 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.1 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.2.0 spec/angular_sprinkles/content_yielder_spec.rb
angular_sprinkles-0.1.1 spec/angular_sprinkles/content_yielder_spec.rb