spec/nanoc/base/errors/dependency_cycle_spec.rb in nanoc-4.7.13 vs spec/nanoc/base/errors/dependency_cycle_spec.rb in nanoc-4.7.14
- old
+ new
@@ -1,18 +1,19 @@
# frozen_string_literal: true
describe Nanoc::Int::Errors::DependencyCycle do
- subject(:error) { described_class.new(graph) }
+ subject(:error) { described_class.new(stack) }
- 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
+ let(:stack) do
+ [
+ rep_a,
+ rep_b,
+ rep_c,
+ rep_d,
+ rep_e,
+ rep_b,
+ ]
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) }
@@ -21,13 +22,13 @@
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)
+ (1) item /b.md, rep :default, uses compiled content of
+ (2) item /c.md, rep :default, uses compiled content of
+ (3) item /d.md, rep :default, uses compiled content of
+ (4) item /e.md, rep :default, uses compiled content of (1)
EOS
expect(error.message).to eql(expected)
end
end