mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-24 10:01:38 +00:00
Merge pull request #2561 from samcv/Travis-CI
Add support for checking YAML validity using Travis CI
This commit is contained in:
commit
f5f8bc75ad
3
.travis.yml
Normal file
3
.travis.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
language: ruby
|
||||||
|
rvm:
|
||||||
|
- 2.2
|
5
Gemfile
Normal file
5
Gemfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
source 'http://rubygems.org'
|
||||||
|
group :test do
|
||||||
|
gem 'rake'
|
||||||
|
gem 'charlock_holmes'
|
||||||
|
end
|
11
Rakefile
Normal file
11
Rakefile
Normal 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
29
tests/encoding.rb
Normal 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
21
tests/yaml.rb
Normal 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
|
Loading…
Reference in New Issue
Block a user