Sha256: 17fe9d497799c13c880f7dfb1be4d7bd1d8fb98771f46c52dbb7c2e9896b4188

Contents?: true

Size: 1.52 KB

Versions: 16

Compression:

Stored size: 1.52 KB

Contents

require 'spec_helper'

describe ChunkyPNG::Dimension do
  subject { ChunkyPNG::Dimension.new(2, 3) }
  
  it { should respond_to(:width) }
  it { should respond_to(:height) }
  
  describe '#area' do
    it "should calculate the area correctly" do
      subject.area.should == 6
    end
  end
end

describe 'ChunkyPNG.Dimension' do
  subject { ChunkyPNG::Dimension.new(1, 2) }
  
  it "should create a dimension from a 2-item array" do
    ChunkyPNG::Dimension([1, 2]).should     == subject
    ChunkyPNG::Dimension(['1', '2']).should == subject
  end
  
  it "should create a dimension from a hash with x and y keys" do
    ChunkyPNG::Dimension(:width => 1, :height => 2).should       == subject
    ChunkyPNG::Dimension('width' => '1', 'height' => '2').should == subject
  end
  
  it "should create a dimension from a point-like string" do
    [
      ChunkyPNG::Dimension('1,2'),
      ChunkyPNG::Dimension('1   2'),
      ChunkyPNG::Dimension('(1 , 2)'),
      ChunkyPNG::Dimension("{1x2}"),
      ChunkyPNG::Dimension("[1\t2}"),
    ].all? { |point| point == subject }
  end
  
  it "should create a dimension from an object that responds to width and height" do
    mock_object = mock('Some object with width and height', :width => 1, :height => 2)
    ChunkyPNG::Dimension(mock_object).should == subject
  end
  
  it "should raise an exception if the input is not understood" do
    lambda { ChunkyPNG::Dimension(Object.new) }.should raise_error(ArgumentError)
    lambda { ChunkyPNG::Dimension(1, 2, 3) }.should raise_error(ArgumentError)
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
chunky_png-1.2.8 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.7 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.6 spec/chunky_png/dimension_spec.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/chunky_png-1.2.5/spec/chunky_png/dimension_spec.rb
chunky_png-1.2.5 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.4 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.3 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.2 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.1 spec/chunky_png/dimension_spec.rb
chunky_png-1.2.0 spec/chunky_png/dimension_spec.rb
chunky_png-1.1.2 spec/chunky_png/dimension_spec.rb
chunky_png-1.1.1 spec/chunky_png/dimension_spec.rb
chunky_png-1.1.0 spec/chunky_png/dimension_spec.rb
chunky_png-1.0.1 spec/chunky_png/dimension_spec.rb
chunky_png-1.0.0 spec/chunky_png/dimension_spec.rb
chunky_png-1.0.0.rc2 spec/chunky_png/dimension_spec.rb