Sha256: 941e8f1cb3752b20cc1314573e8daf68152a70414189952e060cc5ca03c61434

Contents?: true

Size: 1.64 KB

Versions: 5

Compression:

Stored size: 1.64 KB

Contents

require "spec_helper"

describe ChunkyPNG::Canvas::Masking do
  subject { reference_canvas("clock") }

  before(:all) do
    @theme_color      = ChunkyPNG::Color("#e10f7a")
    @new_color        = ChunkyPNG::Color("#ff0000")
    @background_color = ChunkyPNG::Color("white")
  end

  describe "#change_theme_color!" do
    it "should change the theme color correctly" do
      subject.change_theme_color!(@theme_color, @new_color)
      expect(subject).to eql reference_canvas("clock_updated")
    end
  end

  describe "#extract_mask" do
    it "should create the correct base and mask image" do
      base, mask = subject.extract_mask(@theme_color, @background_color)
      expect(base).to eql reference_canvas("clock_base")
      expect(mask).to eql reference_canvas("clock_mask")
    end

    it "should create a mask image with only one opaque color" do
      _, mask = subject.extract_mask(@theme_color, @background_color)
      expect(mask.palette.opaque_palette.size).to eql 1
    end
  end

  describe "#change_mask_color!" do
    before { @mask = reference_canvas("clock_mask") }

    it "should replace the mask color correctly" do
      @mask.change_mask_color!(@new_color)
      expect(@mask).to eql reference_canvas("clock_mask_updated")
    end

    it "should still only have one opaque color" do
      @mask.change_mask_color!(@new_color)
      expect(@mask.palette.opaque_palette.size).to eql 1
    end

    it "should raise an exception when the mask image has more than once color" do
      not_a_mask = reference_canvas("operations")
      expect { not_a_mask.change_mask_color!(@new_color) }.to raise_error(ChunkyPNG::ExpectationFailed)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
chunky_png-1.4.0 spec/chunky_png/canvas/masking_spec.rb
chunky_png-1.3.15 spec/chunky_png/canvas/masking_spec.rb
chunky_png-1.3.14 spec/chunky_png/canvas/masking_spec.rb
chunky_png-1.3.13 spec/chunky_png/canvas/masking_spec.rb
chunky_png-1.3.12 spec/chunky_png/canvas/masking_spec.rb