Sha256: 15b6b3de8bd2419a2f5b6f8684f65232b37f576203e5cf831707dfe2cd8f4a5e

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  module Renderers

    class RenderersTestClass
      include Vedeu::Renderers::Options

      def initialize(options = {})
        @options = options || {}
      end
    end

    describe Options do

      let(:described) { Vedeu::Renderers::Options }
      let(:instance)  { RenderersTestClass.new(options) }
      let(:options)   {
        {
          compression: compression,
        }
      }
      let(:compression) { false }

      describe '#options=' do
        it { instance.must_respond_to(:options=) }
      end

      describe '#compress?' do
        subject { instance.compress? }

        context 'when the option is not set or is set to false' do
          before { options.tap { |o| o.delete(:compression) } }

          context 'when Vedeu::Configuration.compression? is set to false' do
            before { Vedeu::Configuration.stubs(:compression?).returns(false) }

            it { subject.must_equal(false) }
          end

          context 'when Vedeu::Configuration.compression? is set to true' do
            before { Vedeu::Configuration.stubs(:compression?).returns(true) }

            it { subject.must_equal(true) }
          end
        end

        context 'when the option is set and is true' do
          let(:compression) { true }

          it { subject.must_equal(true) }
        end
      end

      # @todo Add more tests.
      # it { skip }

    end # Options

  end # Renderers

end # Vedeu

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.8.1 test/lib/vedeu/renderers/options_test.rb