diff options
| -rw-r--r-- | Gemfile | 1 | ||||
| -rw-r--r-- | Rakefile | 6 | ||||
| -rw-r--r-- | tests/encoding.rb | 16 | 
3 files changed, 16 insertions, 7 deletions
| @@ -1,3 +1,4 @@  group :test do      gem 'rake' +    gem 'charlock_holmes'  end @@ -2,6 +2,10 @@ task default: %w[test]  task :test do    Dir["./tests/*.rb"].each do |test_file| -    ruby test_file +    begin +    	ruby test_file +    rescue +      puts "FAILED #{test_file}!" +    end    end  end diff --git a/tests/encoding.rb b/tests/encoding.rb index c4d41d19..ae7e495f 100644 --- a/tests/encoding.rb +++ b/tests/encoding.rb @@ -1,14 +1,18 @@  #!/usr/bin/env ruby +require 'charlock_holmes'  $file_count = 0;  markdown_files = Dir["./**/*.html.markdown"]  markdown_files.each do |file|    begin -    file_bin = File.open(file, "rb") -    contents = file_bin.read -    if ! contents.valid_encoding? -      puts "#{file} has an invalid encoding! Please save the file in UTF-8!" -    else +    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 +    else +      puts "#{file} was detected as #{detection[:encoding]} encoding! Please save the file in UTF-8!"      end    rescue Exception => msg      puts msg @@ -20,6 +24,6 @@ if files_failed != 0    puts "Please resave the file as UTF-8."    exit 1  else -  puts "Success. All #{$file_count} files passed UTF-8 validity checks" +  puts "Success. All #{$file_count} files Ruby's UTF-8 validity checks. This won't catch most problems."    exit 0  end | 
