summaryrefslogtreecommitdiffhomepage
path: root/tests/encoding.rb
blob: a0b3b1841cf4032f6522339faa5284f40f773ebd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env ruby
require 'charlock_holmes'
$file_count = 0;
markdown_files = Dir["./**/*.html.markdown"]
markdown_files.each do |file|
  begin
    contents = File.read(file)
    detection = CharlockHolmes::EncodingDetector.detect(contents)
    case detection[:encoding]
    when 'UTF-8'
      $file_count = $file_count + 1
    when 'ISO-8859-1'
      $file_count = $file_count + 1
    when /ISO-8859/
      puts "Notice: #{file} was detected as #{detection[:encoding]} encoding. Everything is probably fine."
      $file_count = $file_count + 1
    else
      puts "WARNING #{file} was detected as #{detection[:encoding]} encoding. Please save the file in UTF-8!"
    end
  rescue Exception => msg
    puts msg
  end
end
files_failed = markdown_files.length - $file_count
if files_failed != 0
  puts "FAILURE!!! #{files_failed} files were unable to be validated as UTF-8!"
  puts "Please resave the file as UTF-8."
  exit 1
else
  puts "Success. All #{$file_count} files passed UTF-8 validity checks."
  exit 0
end