Sha256: 28fc349e5d6cb94efa2981867a09ce5066109a618e89926b15876543ceb5e2ee

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

RSpec.shared_examples 'render with stdin and stdout' do |kclass|
  let(:renderer) { kclass.new 'content' }

  before do
    allow(renderer).to receive(:build_command).and_return 'cmd'
    allow(LiquidDiagrams::Rendering).to receive(
      :render_with_stdin_stdout
    ).and_return 'ok'
  end

  it 'call build_command' do
    renderer.render

    expect(renderer).to have_received(:build_command)
  end

  it 'render with tempfile' do
    expect(renderer.render).to eq 'ok'

    expect(LiquidDiagrams::Rendering).to have_received(
      :render_with_stdin_stdout
    ).with('cmd', renderer.instance_variable_get(:@content))
  end
end

RSpec.shared_examples 'render with tempfile' do |kclass|
  let(:renderer) { kclass.new 'content' }

  before do
    allow(renderer).to receive(:build_command)
    allow(LiquidDiagrams::Rendering).to receive(
      :render_with_tempfile
    ).and_yield('in', 'out')

    renderer.render
  end

  it 'call build_command' do
    expect(renderer).to have_received(:build_command)
  end

  it 'render with tempfile' do
    expect(LiquidDiagrams::Rendering).to have_received(:render_with_tempfile)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
liquid-diagrams-0.3.0 spec/support/shared_examples.rb
liquid-diagrams-0.2.0 spec/support/shared_examples.rb
liquid-diagrams-0.1.0 spec/support/shared_examples.rb