spec/unit/converter_spec.rb in middleman-webp-0.1.0 vs spec/unit/converter_spec.rb in middleman-webp-0.2.0

- old
+ new

@@ -1,16 +1,47 @@ require "spec_helper" +require "pathname" require_relative "../../lib/middleman-webp/converter" describe Middleman::WebP::Converter do before do - @converter = Middleman::WebP::Converter.new(nil, nil) + @converter = Middleman::WebP::Converter.new(nil, {}, nil) end + describe "#change_percentage" do + it "returns how many percents smaller destination file is" do + src = stub(:size => 10000) + dst = stub(:size => 8746) + @converter.change_percentage(src, dst).must_equal "12.54 %" + end + + it "omits zeroes in the end of decimal part" do + src = stub(:size => 100) + dst = stub(:size => 76) + @converter.change_percentage(src, dst).must_equal "24 %" + end + end + describe "#number_to_human_size" do it "uses human readable unit" do @converter.number_to_human_size(100).must_equal "100 B" @converter.number_to_human_size(1234).must_equal "1.21 KiB" @converter.number_to_human_size(2_634_234).must_equal "2.51 MiB" + end + end + + describe "#tool_for" do + it "uses gif2webp for gif files" do + path = Pathname.new("/some/path/image.gif") + @converter.tool_for(path).must_equal "gif2webp" + end + + it "uses cwebp for jpeg, png and tiff files" do + path = Pathname.new("/some/path/image.jpg") + @converter.tool_for(path).must_equal "cwebp" + path = Pathname.new("/some/path/image.png") + @converter.tool_for(path).must_equal "cwebp" + path = Pathname.new("/some/path/image.tiff") + @converter.tool_for(path).must_equal "cwebp" end end end