diff options
author | Adam Bard <github@adambard.com> | 2016-11-09 21:50:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-09 21:50:26 -0800 |
commit | f5f8bc75ad7595c8e17af9792251736f28faf265 (patch) | |
tree | 964a022cf50d98716f4f686bb7b426cba3073df2 | |
parent | e837e25a70384d33fc3083d9f2382c31591f548e (diff) | |
parent | 0a0acadf06661b004dd9bbf3797cdd3d15edab96 (diff) |
Merge pull request #2561 from samcv/Travis-CI
Add support for checking YAML validity using Travis CI
-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 |