Sha256: 6e6ae17d3205947b184ed49cf833b9888ccbfbbd704d9ca44a5c776b7f2f5216

Contents?: true

Size: 1.92 KB

Versions: 15

Compression:

Stored size: 1.92 KB

Contents

# frozen_string_literal: true

describe Nanoc::Int::Compiler::Stages::CalculateChecksums do
  let(:stage) do
    described_class.new(items: items, layouts: layouts, code_snippets: code_snippets, config: config)
  end

  let(:config) do
    Nanoc::Int::Configuration.new.with_defaults
  end

  let(:code_snippets) do
    [code_snippet]
  end

  let(:items) do
    Nanoc::Int::ItemCollection.new(config, [item])
  end

  let(:layouts) do
    Nanoc::Int::LayoutCollection.new(config, [layout])
  end

  let(:code_snippet) do
    Nanoc::Int::CodeSnippet.new('woof!', 'dog.rb')
  end

  let(:item) do
    Nanoc::Int::Item.new('hello there', {}, '/hi.md')
  end

  let(:layout) do
    Nanoc::Int::Layout.new('t3mpl4t3', {}, '/page.erb')
  end

  describe '#run' do
    subject { stage.run }

    it 'checksums items' do
      expect(subject.checksum_for(item))
        .to eq(Nanoc::Int::Checksummer.calc(item))

      expect(subject.content_checksum_for(item))
        .to eq(Nanoc::Int::Checksummer.calc_for_content_of(item))

      expect(subject.attributes_checksum_for(item))
        .to eq(Nanoc::Int::Checksummer.calc_for_each_attribute_of(item))
    end

    it 'checksums layouts' do
      expect(subject.checksum_for(layout))
        .to eq(Nanoc::Int::Checksummer.calc(layout))

      expect(subject.content_checksum_for(layout))
        .to eq(Nanoc::Int::Checksummer.calc_for_content_of(layout))

      expect(subject.attributes_checksum_for(layout))
        .to eq(Nanoc::Int::Checksummer.calc_for_each_attribute_of(layout))
    end

    it 'checksums config' do
      expect(subject.checksum_for(config))
        .to eq(Nanoc::Int::Checksummer.calc(config))

      expect(subject.attributes_checksum_for(config))
        .to eq(Nanoc::Int::Checksummer.calc_for_each_attribute_of(config))
    end

    it 'checksums code snippets' do
      expect(subject.checksum_for(code_snippet))
        .to eq(Nanoc::Int::Checksummer.calc(code_snippet))
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
nanoc-4.8.12 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.11 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.10 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.9 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.8 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.7 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.6 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.5 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.4 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.3 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.2 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.1 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.8.0 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.7.14 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb
nanoc-4.7.13 spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb