Sha256: 5d7cbe31c2e9f59a22e1de47e01345b697c202eda02cf72b0c1c6670de9f5b88

Contents?: true

Size: 1.48 KB

Versions: 18

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

describe 'GH-1045', site: true, stdio: true do
  before do
    File.write('content/foo.txt', 'foo')
    FileUtils.touch('content/foo.txt', mtime: Time.parse('2015-03-02 10:00:00Z'))

    File.write('content/sitemap.erb', '<%= xml_sitemap(items: items.select { |i| i.path.end_with?(\'/\') }) %>')

    File.write('nanoc.yaml', <<~EOS)
      base_url: 'http://example.com'
EOS

    File.write('lib/default.rb', <<~EOS)
      include Nanoc::Helpers::XMLSitemap
EOS

    File.write('Rules', <<~EOS)
      compile '/*.txt' do
        write item.identifier.without_ext + '/index.html'
      end

      compile '/sitemap.erb' do
        filter :erb
        write item.identifier.without_ext + '.xml'
      end
EOS
  end

  it 'creates the sitemap' do
    Nanoc::CLI.run(%w[compile])

    expect(File.file?('output/sitemap.xml')).to be
    contents = File.read('output/sitemap.xml')
    expect(contents).to match(%r{<loc>http://example.com/foo/</loc>})
    expect(contents).to match(%r{<lastmod>2015-03-02</lastmod>})
  end

  it 'updates the sitemap' do
    Nanoc::CLI.run(%w[compile])
    File.write('content/foo.txt', 'foo 2')
    FileUtils.touch('content/foo.txt', mtime: Time.parse('2016-04-03 10:00:00Z'))
    Nanoc::CLI.run(%w[compile])

    expect(File.file?('output/sitemap.xml')).to be
    contents = File.read('output/sitemap.xml')
    expect(contents).to match(%r{<loc>http://example.com/foo/</loc>})
    expect(contents).to match(%r{<lastmod>2016-04-03</lastmod>})
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
nanoc-4.8.12 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.11 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.10 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.9 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.8 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.7 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.6 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.5 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.4 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.3 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.2 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.1 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.8.0 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.7.14 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.7.13 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.7.12 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.7.11 spec/nanoc/regressions/gh_1045_spec.rb
nanoc-4.7.10 spec/nanoc/regressions/gh_1045_spec.rb