2019-10-08 20:06:06 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'spec_helper'
|
|
|
|
|
2020-06-24 14:09:03 -04:00
|
|
|
RSpec.describe Checksummable do
|
2020-09-28 11:09:44 -04:00
|
|
|
subject do
|
|
|
|
Class.new { include Checksummable }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe ".crc32" do
|
|
|
|
it 'returns the CRC32 of data' do
|
|
|
|
expect(subject.crc32('abcd')).to eq 3984772369
|
2019-10-08 20:06:06 -04:00
|
|
|
end
|
2020-09-28 11:09:44 -04:00
|
|
|
end
|
2019-10-08 20:06:06 -04:00
|
|
|
|
2021-09-27 11:10:13 -04:00
|
|
|
describe ".sha256_hexdigest" do
|
2019-10-08 20:06:06 -04:00
|
|
|
it 'returns the SHA256 sum of the file' do
|
|
|
|
expected = Digest::SHA256.file(__FILE__).hexdigest
|
|
|
|
|
2021-09-27 11:10:13 -04:00
|
|
|
expect(subject.sha256_hexdigest(__FILE__)).to eq(expected)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe ".md5_hexdigest" do
|
|
|
|
it 'returns the MD5 sum of the file' do
|
|
|
|
expected = Digest::MD5.file(__FILE__).hexdigest
|
|
|
|
|
|
|
|
expect(subject.md5_hexdigest(__FILE__)).to eq(expected)
|
2019-10-08 20:06:06 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|