Sha256: 2106fae0360f6c4b84ebf0a5a69d975b6656c5937959c0ecf228d0dcd7bd14cd

Contents?: true

Size: 937 Bytes

Versions: 2

Compression:

Stored size: 937 Bytes

Contents

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

module LovelyRufus
  describe CLIWrapper do
    describe '#run' do
      let(:stream)       { StringIO.new(text)                          }
      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 stream
        end).must_output text
      end

      it 'accepts the desired width and passes it to TextWrapper' do
        capture_io do
          CLIWrapper.new(%w(--width=22), text_wrapper: text_wrapper).run stream
        end
        _(text_wrapper).must_have_received :wrap, [text, { width: 22 }]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lovely_rufus-1.0.0 test/lovely_rufus/cli_wrapper_test.rb
lovely_rufus-0.3.2 test/lovely_rufus/cli_wrapper_test.rb