diff --git a/.travis.yml b/.travis.yml index 72f0752d..d8ba3100 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ language: ruby cache: bundler sudo: false rvm: +- 2.2 - 2.1 - 2.0 env: diff --git a/Gemfile b/Gemfile index c79afe7c..2bc6abc3 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem 'rdoc', '~> 3.11' gem 'redgreen', '~> 1.2' gem 'shoulda', '~> 3.5' gem 'rr', '~> 1.1' -gem 'cucumber', '1.3.11' +gem 'cucumber', '1.3.18' gem 'RedCloth', '~> 4.2' gem 'maruku', '~> 0.7.0' gem 'rdiscount', '~> 1.6' @@ -20,7 +20,7 @@ gem 'jekyll_test_plugin_malicious' gem 'rouge', '~> 1.7' gem 'liquid-c', '~> 0.0.3' gem 'minitest' if RUBY_PLATFORM =~ /cygwin/ -gem 'test-unit' if RUBY_PLATFORM =~ /cygwin/ +gem 'test-unit' if RUBY_PLATFORM =~ /cygwin/ || RUBY_VERSION.start_with?("2.2") if ENV['BENCHMARK'] gem 'rbtrace' diff --git a/features/markdown.feature b/features/markdown.feature index 659eed0f..895c927a 100644 --- a/features/markdown.feature +++ b/features/markdown.feature @@ -47,7 +47,7 @@ Feature: Markdown And I should see "My awesome code" in "_site/index.html" And I should see "
My awesome code
" in "_site/index.html"
- Scenario: Maruku fenced codeblocks
+ Scenario: Maruku fenced codeblocks with syntax highlighting
Given I have a configuration file with "markdown" set to "maruku"
And I have an "index.markdown" file with content:
"""
diff --git a/features/step_definitions/jekyll_steps.rb b/features/step_definitions/jekyll_steps.rb
index 069f93b0..98f14ad1 100644
--- a/features/step_definitions/jekyll_steps.rb
+++ b/features/step_definitions/jekyll_steps.rb
@@ -24,6 +24,7 @@ end
After do
FileUtils.rm_rf(TEST_DIR) if File.exist?(TEST_DIR)
FileUtils.rm(JEKYLL_COMMAND_OUTPUT_FILE) if File.exist?(JEKYLL_COMMAND_OUTPUT_FILE)
+ Dir.chdir(File.dirname(TEST_DIR))
end
World(Test::Unit::Assertions)
@@ -192,7 +193,15 @@ Then /^I should see escaped "(.*)" in "(.*)"$/ do |text, file|
end
Then /^the "(.*)" file should +exist$/ do |file|
- assert File.file?(file), "The file \"#{file}\" does not exist"
+ file_does_exist = File.file?(file)
+ unless file_does_exist
+ all_steps_to_path(file).each do |dir|
+ STDERR.puts ""
+ STDERR.puts "Dir #{dir}:"
+ STDERR.puts Dir["#{dir}/**/*"]
+ end
+ end
+ assert file_does_exist, "The file \"#{file}\" does not exist.\n"
end
Then /^the "(.*)" file should not exist$/ do |file|
diff --git a/features/support/env.rb b/features/support/env.rb
index ba4555fe..e995ba9b 100644
--- a/features/support/env.rb
+++ b/features/support/env.rb
@@ -13,6 +13,17 @@ def source_dir(*files)
File.join(TEST_DIR, *files)
end
+def all_steps_to_path(path)
+ source = Pathname.new(source_dir('_site')).expand_path
+ dest = Pathname.new(path).expand_path
+ paths = []
+ dest.ascend do |f|
+ break if f.eql? source
+ paths.unshift f.to_s
+ end
+ paths
+end
+
def jekyll_output_file
JEKYLL_COMMAND_OUTPUT_FILE
end
diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb
index 17a4142b..fca03437 100644
--- a/lib/jekyll/filters.rb
+++ b/lib/jekyll/filters.rb
@@ -309,7 +309,7 @@ module Jekyll
else
Jekyll.logger.error "Invalid Date:", "'#{input}' is not a valid datetime."
exit(1)
- end
+ end.localtime
end
def groupable?(element)
diff --git a/lib/jekyll/utils.rb b/lib/jekyll/utils.rb
index fbdcd27b..a84847a4 100644
--- a/lib/jekyll/utils.rb
+++ b/lib/jekyll/utils.rb
@@ -90,7 +90,7 @@ module Jekyll
# Returns the parsed date if successful, throws a FatalException
# if not
def parse_date(input, msg = "Input could not be parsed.")
- Time.parse(input)
+ Time.parse(input).localtime
rescue ArgumentError
raise Errors::FatalException.new("Invalid date '#{input}': " + msg)
end
diff --git a/script/bootstrap b/script/bootstrap
index 097f3e27..99756046 100755
--- a/script/bootstrap
+++ b/script/bootstrap
@@ -1,4 +1,4 @@
#!/bin/sh
script/branding
-bundle install
+bundle install -j8
diff --git a/script/test b/script/test
index 7bb742ef..52dc4b92 100755
--- a/script/test
+++ b/script/test
@@ -10,7 +10,15 @@ else
TEST_FILES="$@"
fi
-RAKE_LIB_DIR=$(ruby -e "puts Gem::Specification.find_by_name('rake').gem_dir + '/lib'")
+# bundle exec gem env
+GEM_DIR=$(bundle exec gem env | grep -C 1 "GEM PATHS" | tail -1 | cut -d '-' -f2 | cut -d' ' -f2)
+RAKE_LIB_WITH_VERSION=$(bundle exec ruby -e "puts Gem::Specification.find_by_name('rake').gem_dir.split('/').last + '/lib'")
+RAKE_LIB_DIR="${GEM_DIR}/gems/${RAKE_LIB_WITH_VERSION}"
+
+test -d "${RAKE_LIB_DIR}" || {
+ echo "No ${RAKE_LIB_DIR}. Installing Rake."
+ bundle show rake | cut -d'/' -f12 | cut -d'-' -f 2 | xargs bundle exec gem install rake -v
+}
set -x
diff --git a/test/test_filters.rb b/test/test_filters.rb
index a9fc951d..659b7a84 100644
--- a/test/test_filters.rb
+++ b/test/test_filters.rb
@@ -72,11 +72,11 @@ class TestFilters < Test::Unit::TestCase
end
should "format a time with xmlschema" do
- assert_equal "2013-03-27T11:22:33Z", @filter.date_to_xmlschema(@sample_time)
+ assert_equal "2013-03-27T11:22:33+00:00", @filter.date_to_xmlschema(@sample_time)
end
should "format a time according to RFC-822" do
- assert_equal "Wed, 27 Mar 2013 11:22:33 -0000", @filter.date_to_rfc822(@sample_time)
+ assert_equal "Wed, 27 Mar 2013 11:22:33 +0000", @filter.date_to_rfc822(@sample_time)
end
end
@@ -90,11 +90,11 @@ class TestFilters < Test::Unit::TestCase
end
should "format a time with xmlschema" do
- assert_equal "2001-09-11T12:46:30Z", @filter.date_to_xmlschema(@time_as_string)
+ assert_equal "2001-09-11T12:46:30+00:00", @filter.date_to_xmlschema(@time_as_string)
end
should "format a time according to RFC-822" do
- assert_equal "Tue, 11 Sep 2001 12:46:30 -0000", @filter.date_to_rfc822(@time_as_string)
+ assert_equal "Tue, 11 Sep 2001 12:46:30 +0000", @filter.date_to_rfc822(@time_as_string)
end
end