Sha256: 9c9d62688680eeb8469728c2e15a081ade4f63e523075a0ac5283f2bff3de6d8

Contents?: true

Size: 991 Bytes

Versions: 1

Compression:

Stored size: 991 Bytes

Contents

require 'stringio'
require_relative '../spec_helper'
require_relative '../../lib/lovely_rufus/cli_wrapper'

module LovelyRufus
  describe CLIWrapper do
    describe '#run' do
      let(:text) { "all right: stop, collaborate and listen\n" }
      let(:text_wrapper) { fake(:text_wrapper, as: :class) }

      it 'reads the passed stream to TextWrapper and prints the results' do
        stub(text_wrapper).wrap(text, width: 72) { text }
        lambda do
          CLIWrapper.new(text_wrapper: text_wrapper).run StringIO.new(text)
        end.must_output text
      end

      it 'accepts the desired width and passes it to TextWrapper' do
        wrap = <<-end.dedent
          all right: stop,
          collaborate and listen
        end
        stub(text_wrapper).wrap(text, width: 22) { wrap }
        lambda do
          stream = StringIO.new(text)
          CLIWrapper.new(%w(--width=22), text_wrapper: text_wrapper).run stream
        end.must_output wrap
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lovely_rufus-0.2.0 spec/lovely_rufus/cli_wrapper_spec.rb