Sha256: 4ecd3050aa0c2479cecc16f650ab183a93552d439131b621ce92157c1c38a3ba

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

def sample_file_path(file)
  File.join(File.dirname(__FILE__), 'samples', file)
end

describe "Jpeg" do
  subject { @jpeg }
  describe :open do
    context "valid jpeg" do
      before { @jpeg = Jpeg.open(sample_file_path("sample.jpg")) }
      it { expect(subject).to be_a Jpeg::Image }
      it { expect(subject.size).to eq [112, 112] }
      it { expect(subject.width).to eq 112 }
      it { expect(subject.height).to eq 112 }
      it { expect(subject.color_info).to eq :rgb }
      it { expect(subject).to be_rgb }
      it { expect(subject).not_to be_gray }
      it "should export the decoded data" do
        decoded = subject.raw_data
        expect(decoded.count).to eq 112
        expect(decoded[0].count).to eq 112
        expect(decoded[0][0]).to eq [255, 255, 253]
        expect(decoded[60][50]).to eq [16, 27, 207]
        expect(decoded[111][111]).to eq [255, 255, 255]
      end
    end

    context "non-exists file" do
      it { expect { Jpeg.open(sample_file_path("nonexists.jpg")) }.to raise_error(Jpeg::Error) }
    end

    context "not a correct jpeg file" do
      it { expect { Jpeg.open(sample_file_path("sample.png")) }.to raise_error(Jpeg::Error) }
    end
  end
  describe :from_string do
    before { @jpeg = Jpeg.open_buffer(File.open(sample_file_path("sample.jpg")).read) }
    it { expect(subject.size).to eq [112, 112] }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jpeg-0.7.0 spec/jpeg_spec.rb
jpeg-0.6.0 spec/jpeg_spec.rb