Sha256: 843c6beb21df01b4958ecd1bdd699711839d6ac895d5dc227ae0700589c2fac2

Contents?: true

Size: 817 Bytes

Versions: 4

Compression:

Stored size: 817 Bytes

Contents

describe Chroma, '.define_palette' do
  def add_palette
    Chroma.define_palette :foo do
      spin 60
      spin 180
      spin(60).brighten(20)
      greyscale
    end
  end

  def remove_palette
    if Chroma::Harmonies.method_defined? :foo
      Chroma::Harmonies.send(:remove_method, :foo)
    end
  end

  after(:example) { remove_palette }

  let(:red) { '#ff0000'.paint }

  it 'adds the new palette method' do
    expect(red.palette).to_not respond_to(:foo)
    add_palette
    expect(red.palette).to respond_to(:foo)
  end

  it 'generates the correct colors' do
    add_palette

    expect(red.palette.foo).
      to generate_palette %w(#ff0000 #ffff00 #00ffff #ffff33 #808080)
  end

  it 'keeps the same format' do
    add_palette

    expect('red'.paint.palette.foo).to all have_format :name
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
chroma-0.2.0 spec/chroma/define_palette_spec.rb
chroma-0.1.0 spec/chroma/define_palette_spec.rb
chroma-0.0.1 spec/chroma/define_palette_spec.rb
chroma-0.0.1.alpha.3 spec/chroma/define_palette_spec.rb