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 |