Sha256: 35cb2c850b3af700313de6c5d183bd8ee04d0f5d640e37f0829c41bea995767d
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
describe Nanoc::Int::Errors::DependencyCycle do subject(:error) { described_class.new(graph) } let(:graph) do Nanoc::Int::DirectedGraph.new([]).tap do |g| g.add_edge(rep_a, rep_b) g.add_edge(rep_b, rep_c) g.add_edge(rep_c, rep_d) g.add_edge(rep_d, rep_e) g.add_edge(rep_e, rep_b) end end let(:rep_a) { Nanoc::Int::ItemRep.new(Nanoc::Int::Item.new('a', {}, '/a.md'), :default) } let(:rep_b) { Nanoc::Int::ItemRep.new(Nanoc::Int::Item.new('b', {}, '/b.md'), :default) } let(:rep_c) { Nanoc::Int::ItemRep.new(Nanoc::Int::Item.new('c', {}, '/c.md'), :default) } let(:rep_d) { Nanoc::Int::ItemRep.new(Nanoc::Int::Item.new('d', {}, '/d.md'), :default) } let(:rep_e) { Nanoc::Int::ItemRep.new(Nanoc::Int::Item.new('e', {}, '/e.md'), :default) } it 'has an informative error message' do expected = <<EOS The site cannot be compiled because there is a dependency cycle: (1) item /e.md, rep :default, uses compiled content of (2) item /d.md, rep :default, uses compiled content of (3) item /c.md, rep :default, uses compiled content of (4) item /b.md, rep :default, uses compiled content of (1) EOS expect(error.message).to eql(expected) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nanoc-4.7.9 | spec/nanoc/base/errors/dependency_cycle_spec.rb |
nanoc-4.7.8 | spec/nanoc/base/errors/dependency_cycle_spec.rb |