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