spec/nanoc/base/services/outdatedness_rules_spec.rb in nanoc-4.7.7 vs spec/nanoc/base/services/outdatedness_rules_spec.rb in nanoc-4.7.8

- old
+ new

@@ -6,10 +6,11 @@ let(:outdatedness_checker) do Nanoc::Int::OutdatednessChecker.new( site: site, checksum_store: checksum_store, + checksums: checksums, dependency_store: dependency_store, action_sequence_store: action_sequence_store, action_sequences: action_sequences, reps: reps, ) @@ -34,10 +35,19 @@ let(:reps) { Nanoc::Int::ItemRepRepo.new } let(:dependency_store) { Nanoc::Int::DependencyStore.new(items, layouts) } let(:action_sequence_store) { Nanoc::Int::ActionSequenceStore.new } let(:checksum_store) { Nanoc::Int::ChecksumStore.new(objects: objects) } + let(:checksums) do + Nanoc::Int::Compiler::Stages::CalculateChecksums.new( + items: items, + layouts: layouts, + code_snippets: code_snippets, + config: config, + ).run + end + let(:items) { Nanoc::Int::IdentifiableCollection.new(config, [item]) } let(:layouts) { Nanoc::Int::IdentifiableCollection.new(config) } before do allow(site).to receive(:code_snippets).and_return(code_snippets) @@ -59,11 +69,11 @@ before { checksum_store.add(code_snippet) } it { is_expected.not_to be } end - context 'only non-outdated snippets' do + context 'only outdated snippets' do let(:code_snippet) { Nanoc::Int::CodeSnippet.new('asdf', 'lib/foo.md') } let(:code_snippet_old) { Nanoc::Int::CodeSnippet.new('aaaaaaaa', 'lib/foo.md') } let(:code_snippets) { [code_snippet] } before { checksum_store.add(code_snippet_old) } @@ -303,12 +313,12 @@ context 'RulesModified' do let(:rule_class) { Nanoc::Int::OutdatednessRules::RulesModified } let(:old_mem) do - Nanoc::Int::ActionSequence.new(item_rep).tap do |mem| - mem.add_filter(:erb, {}) + Nanoc::Int::ActionSequence.build(item_rep) do |b| + b.add_filter(:erb, {}) end end let(:action_sequences) { { item_rep => new_mem } } @@ -321,13 +331,13 @@ it { is_expected.not_to be } end context 'memory is different' do let(:new_mem) do - Nanoc::Int::ActionSequence.new(item_rep).tap do |mem| - mem.add_filter(:erb, {}) - mem.add_filter(:donkey, {}) + Nanoc::Int::ActionSequence.build(item_rep) do |b| + b.add_filter(:erb, {}) + b.add_filter(:donkey, {}) end end it { is_expected.to be } end @@ -342,10 +352,12 @@ end let(:stored_obj) { raise 'override me' } let(:new_obj) { raise 'override me' } + let(:items) { [new_obj] } + shared_examples 'a document' do let(:stored_obj) { klass.new('a', {}, '/foo.md') } let(:new_obj) { stored_obj } context 'no checksum data' do @@ -461,34 +473,34 @@ let(:action_sequences) { { item_rep => mem } } context 'unknown filter' do let(:mem) do - Nanoc::Int::ActionSequence.new(item_rep).tap do |mem| - mem.add_snapshot(:donkey, '/foo.md') - mem.add_filter(:asdf, {}) + Nanoc::Int::ActionSequence.build(item_rep) do |b| + b.add_snapshot(:donkey, '/foo.md') + b.add_filter(:asdf, {}) end end it { is_expected.not_to be } end context 'known filter, not always outdated' do let(:mem) do - Nanoc::Int::ActionSequence.new(item_rep).tap do |mem| - mem.add_snapshot(:donkey, '/foo.md') - mem.add_filter(:erb, {}) + Nanoc::Int::ActionSequence.build(item_rep) do |b| + b.add_snapshot(:donkey, '/foo.md') + b.add_filter(:erb, {}) end end it { is_expected.not_to be } end context 'known filter, always outdated' do let(:mem) do - Nanoc::Int::ActionSequence.new(item_rep).tap do |mem| - mem.add_snapshot(:donkey, '/foo.md') - mem.add_filter(:xsl, {}) + Nanoc::Int::ActionSequence.build(item_rep) do |b| + b.add_snapshot(:donkey, '/foo.md') + b.add_filter(:xsl, {}) end end it { is_expected.to be } end