aboutsummaryrefslogtreecommitdiff
path: root/spec/shared_behaviours/all_parsedfile_providers.rb
blob: 9fdf54b60f4bc73acbc79fb11ffdbec63b890495 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
shared_examples_for "all parsedfile providers" do |provider, *files|
  if files.empty? then
    files = my_fixtures
  end

  files.flatten.each do |file|
    it "should rewrite #{file} reasonably unchanged" do
      provider.stubs(:default_target).returns(file)
      provider.prefetch

      text = provider.to_file(provider.target_records(file))
      text.gsub!(/^# HEADER.+\n/, '')

      oldlines = File.readlines(file)
      newlines = text.chomp.split "\n"
      oldlines.zip(newlines).each do |old, new|
        expect(new.gsub(/\s+/, '')).to eq(old.chomp.gsub(/\s+/, ''))
      end
    end
  end
end