summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam Bard <github@adambard.com>2016-11-09 21:50:26 -0800
committerGitHub <noreply@github.com>2016-11-09 21:50:26 -0800
commitf5f8bc75ad7595c8e17af9792251736f28faf265 (patch)
tree964a022cf50d98716f4f686bb7b426cba3073df2
parente837e25a70384d33fc3083d9f2382c31591f548e (diff)
parent0a0acadf06661b004dd9bbf3797cdd3d15edab96 (diff)
Merge pull request #2561 from samcv/Travis-CI
Add support for checking YAML validity using Travis CI
-rw-r--r--.travis.yml3
-rw-r--r--Gemfile5
-rw-r--r--Rakefile11
-rw-r--r--tests/encoding.rb29
-rw-r--r--tests/yaml.rb21
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