Sha256: f6fb2f311a3f10518b4793cd244881b38b3fb8c7c4c28ae66c02124c9271b736

Contents?: true

Size: 1.6 KB

Versions: 2

Compression:

Stored size: 1.6 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  module Renderers

    describe Terminal do

      let(:described) { Vedeu::Renderers::Terminal }
      let(:instance)  { described.new(options) }
      let(:options)   { {} }
      let(:_name)     {}
      let(:output)    {
        Vedeu::Models::Page.coerce([
          [
            Vedeu::Cells::Empty.new(position: [1, 1]),
            Vedeu::Views::Char.new(name: _name, value: 'a', position: [1, 2]),
            Vedeu::Cells::Empty.new(position: [1, 3]),
          ], [
            Vedeu::Cells::Empty.new(position: [2, 1]),
            Vedeu::Views::Char.new(name: _name, value: 'b', position: [2, 2]),
            Vedeu::Cells::Empty.new(position: [2, 3]),
          ], [
            Vedeu::Cells::Empty.new(position: [3, 1]),
            Vedeu::Views::Char.new(name: _name, value: 'c', position: [3, 2]),
            Vedeu::Cells::Empty.new(position: [3, 3]),
          ],
        ])
      }

      before do
        Vedeu::Terminal.stubs(:output).returns(output)
      end

      describe '#initialize' do
        it { instance.must_be_instance_of(described) }
        it { instance.instance_variable_get('@options').must_equal(options) }
      end

      describe '#clear' do
        before { Vedeu::Terminal.stubs(:clear) }

        subject { instance.clear }

        it do
          Vedeu::Terminal.expects(:clear)
          subject
        end
      end

      describe '#render' do
        subject { instance.render(output) }

        it { subject.must_be_instance_of(Vedeu::Models::Page) }
      end

    end # Terminal

  end # Renderers

end # Vedeu

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.8.2 test/lib/vedeu/renderers/terminal_test.rb
vedeu-0.8.1 test/lib/vedeu/renderers/terminal_test.rb