diff options
| -rw-r--r-- | .travis.yml | 3 | ||||
| -rw-r--r-- | Gemfile | 5 | ||||
| -rw-r--r-- | Rakefile | 11 | ||||
| -rw-r--r-- | tests/encoding.rb | 29 | ||||
| -rw-r--r-- | tests/yaml.rb | 21 | 
5 files changed, 69 insertions, 0 deletions
| diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..ab89cb23 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +language: ruby +rvm: +    - 2.2 diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..c30a6497 --- /dev/null +++ b/Gemfile @@ -0,0 +1,5 @@ +source 'http://rubygems.org' +group :test do +    gem 'rake' +    gem 'charlock_holmes' +end diff --git a/Rakefile b/Rakefile new file mode 100644 index 00000000..0193d816 --- /dev/null +++ b/Rakefile @@ -0,0 +1,11 @@ +task default: %w[test] + +task :test do +  Dir["./tests/*.rb"].each do |test_file| +    begin +    	ruby test_file +    rescue +      puts "FAILED #{test_file}!" +    end +  end +end diff --git a/tests/encoding.rb b/tests/encoding.rb new file mode 100644 index 00000000..ae7e495f --- /dev/null +++ b/tests/encoding.rb @@ -0,0 +1,29 @@ +#!/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 +    else +      puts "#{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 Ruby's UTF-8 validity checks. This won't catch most problems." +  exit 0 +end diff --git a/tests/yaml.rb b/tests/yaml.rb new file mode 100644 index 00000000..9f21016f --- /dev/null +++ b/tests/yaml.rb @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +require 'yaml'; +$file_count = 0; +markdown_files = Dir["./**/*.html.markdown"] +markdown_files.each do |file| +  begin +    YAML.load_file(file) +    $file_count = $file_count + 1 +  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 parsed!" +  puts "Please check the YAML headers for the documents that failed!" +  exit 1 +else +  puts "Success. All #{$file_count} files were verified valid YAML" +  exit 0 +end | 
