spec/nanoc/integration/outdatedness_integration_spec.rb in nanoc-4.7.11 vs spec/nanoc/integration/outdatedness_integration_spec.rb in nanoc-4.7.12

- old
+ new

@@ -18,11 +18,11 @@ compile '/bar.*' do filter :erb write '/bar.html' end -EOS + EOS end before { Nanoc::CLI.run(%w[compile]) } it 'shows default rep outdatedness' do @@ -69,10 +69,61 @@ output(/^item \/bar\.md, rep default:\n is outdated:/).to_stdout, ) end end + context 'only attribute dependency on config' do + let(:time) { Time.now } + + before do + File.write('content/bar.md', '<%= @config[:title] %>') + + FileUtils.touch('content/bar.md', mtime: time) + + File.write('nanoc.yaml', <<~EOS) + title: The Original + EOS + + File.write('Rules', <<~EOS) + compile '/foo.*' do + write '/foo.html' + end + + compile '/bar.*' do + filter :erb + write '/bar.html' + end + EOS + end + + before { Nanoc::CLI.run(%w[compile]) } + + it 'shows default rep outdatedness' do + expect { Nanoc::CLI.run(%w[show-data --no-color]) }.to( + output(/^item \/bar\.md, rep default:\n is not outdated/).to_stdout, + ) + end + + it 'shows file as outdated after modification' do + File.write('content/bar.md', 'JUST BAR!') + FileUtils.touch('content/bar.md', mtime: time) + + expect { Nanoc::CLI.run(%w[show-data --no-color]) }.to( + output(/^item \/bar\.md, rep default:\n is outdated:/).to_stdout, + ) + end + + it 'shows file and dependencies as outdated after title modification' do + File.write('nanoc.yaml', 'title: Totes Newz') + FileUtils.touch('nanoc.yaml', mtime: time) + + expect { Nanoc::CLI.run(%w[show-data --no-color]) }.to( + output(/^item \/bar\.md, rep default:\n is outdated:/).to_stdout, + ) + end + end + context 'only raw content dependency' do before do File.write('content/foo.md', "---\ntitle: hello\n---\n\nfoo") File.write('content/bar.md', '<%= @items["/foo.*"].raw_content %>') @@ -83,11 +134,11 @@ compile '/bar.*' do filter :erb write '/bar.html' end -EOS + EOS end before { Nanoc::CLI.run(%w[compile]) } it 'shows default rep outdatedness' do @@ -145,11 +196,11 @@ compile '/bar.*' do filter :erb write '/bar.html' end -EOS + EOS end before { Nanoc::CLI.run(%w[compile]) } it 'shows default rep outdatedness' do @@ -203,10 +254,10 @@ compile '/bar.*' do filter :erb write '/bar.html' end -EOS + EOS expect { Nanoc::CLI.run(%w[show-data --no-color]) }.to( output(/^item \/foo\.md, rep default:\n is outdated:/).to_stdout, ) expect { Nanoc::CLI.run(%w[show-data --no-color]) }.to(