Merge pull request #2561 from samcv/Travis-CI

Add support for checking YAML validity using Travis CI
This commit is contained in:
Adam Bard 2016-11-09 21:50:26 -08:00 committed by GitHub
commit f5f8bc75ad
5 changed files with 69 additions and 0 deletions

3
.travis.yml Normal file
View File

@ -0,0 +1,3 @@
language: ruby
rvm:
- 2.2

5
Gemfile Normal file
View File

@ -0,0 +1,5 @@
source 'http://rubygems.org'
group :test do
gem 'rake'
gem 'charlock_holmes'
end

11
Rakefile Normal file
View File

@ -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

29
tests/encoding.rb Normal file
View File

@ -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

21
tests/yaml.rb Normal file
View File

@ -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