Sha256: 22ac25467814752745da196fa0d4506a53f90dfe37853b2f170fabced71eae1c

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

require 'spec_helper'

describe CarrierWave::ImageOptimizer do
  describe '#optimize' do
    before do
      @uploader = Class.new do
        include CarrierWave::ImageOptimizer
        def current_path; '/tmp/path/to/image.jpg' end
      end
    end

    it 'delegates to a new instance of ImageOptimizer with the current path to the file' do
      image_optimizer = double(::ImageOptimizer)
      expect(::ImageOptimizer).to receive(:new).with('/tmp/path/to/image.jpg', {}).and_return(image_optimizer)
      expect(image_optimizer).to receive(:optimize)
      @uploader.new.optimize
    end

    it 'accepts an optional quality param to target a specific lossy JPG quality level' do
      image_optimizer = double(::ImageOptimizer)
      expect(::ImageOptimizer).to receive(:new).with('/tmp/path/to/image.jpg', quality: 99).and_return(image_optimizer)
      expect(image_optimizer).to receive(:optimize)
      @uploader.new.optimize(quality: 99)
    end

    it 'accepts an optional quiet param to run in quiet mode' do
      image_optimizer = double(::ImageOptimizer)
      expect(::ImageOptimizer).to receive(:new).with('/tmp/path/to/image.jpg', quiet: true).and_return(image_optimizer)
      expect(image_optimizer).to receive(:optimize)
      @uploader.new.optimize(quiet: true)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
carrierwave-imageoptimizer-1.6.0 spec/carrierwave_imageoptimizer_spec.rb
carrierwave-imageoptimizer-1.5.0 spec/carrierwave_imageoptimizer_spec.rb
carrierwave-imageoptimizer-1.4.1 spec/carrierwave_imageoptimizer_spec.rb
carrierwave-imageoptimizer-1.4.0 spec/carrierwave_imageoptimizer_spec.rb
carrierwave-imageoptimizer-1.3.0 spec/carrierwave_imageoptimizer_spec.rb
carrierwave-imageoptimizer-1.2.1 spec/carrierwave_imageoptimizer_spec.rb