Sha256: 2ca88340fdcd76ec3309b642c454a3d55c1f81194a03d687dd9be360e7a114c7

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

require 'spec_helper'
require 'image_optim/worker/optipng'
require 'image_optim/image_path'

describe ImageOptim::Worker::Optipng do
  describe 'strip option' do
    subject{ described_class.new(ImageOptim.new, options) }

    let(:options){ {} }
    let(:optipng_version){ '0.7' }
    let(:src){ instance_double(ImageOptim::ImagePath, :copy => nil) }
    let(:dst){ instance_double(ImageOptim::ImagePath) }

    before do
      optipng_bin = instance_double(ImageOptim::BinResolver::Bin)
      allow(subject).to receive(:resolve_bin!).
        with(:optipng).and_return(optipng_bin)
      allow(optipng_bin).to receive(:version).
        and_return(ImageOptim::BinResolver::SimpleVersion.new(optipng_version))

      allow(subject).to receive(:optimized?)
    end

    context 'by default' do
      it 'should add -strip all to arguments' do
        expect(subject).to receive(:execute) do |_bin, *args|
          expect(args.join(' ')).to match(/(^| )-strip all($| )/)
        end

        subject.optimize(src, dst)
      end
    end

    context 'when strip is disabled' do
      let(:options){ {:strip => false} }

      it 'should not add -strip all to arguments' do
        expect(subject).to receive(:execute) do |_bin, *args|
          expect(args.join(' ')).not_to match(/(^| )-strip all($| )/)
        end

        subject.optimize(src, dst)
      end
    end

    context 'when optipng version is < 0.7' do
      let(:optipng_version){ '0.6.999' }

      it 'should not add -strip all to arguments' do
        expect(subject).to receive(:execute) do |_bin, *args|
          expect(args.join(' ')).not_to match(/(^| )-strip all($| )/)
        end

        subject.optimize(src, dst)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
image_optim-0.22.1 spec/image_optim/worker/optipng_spec.rb
image_optim-0.22.0 spec/image_optim/worker/optipng_spec.rb