diff --git a/Gemfile b/Gemfile index 4c721ffa..84394d93 100644 --- a/Gemfile +++ b/Gemfile @@ -17,11 +17,11 @@ gem 'slim', require: false gem 'liquid', require: false gem 'less', '~> 2.3.0', require: false gem 'stylus', require: false +gem 'redcarpet', '~> 3.1', require: false gem 'asciidoctor', require: false platforms :ruby do gem 'therubyracer' - gem 'redcarpet', '~> 3.1' gem 'pry', require: false, group: :development end diff --git a/gem_rake_helper.rb b/gem_rake_helper.rb index 284cf5dc..5f95c90e 100644 --- a/gem_rake_helper.rb +++ b/gem_rake_helper.rb @@ -19,6 +19,7 @@ Cucumber::Rake::Task.new do |t| exempt_tags = ['--tags ~@wip'] exempt_tags << '--tags ~@nojava' if RUBY_PLATFORM == 'java' exempt_tags << '--tags ~@encoding' unless Object.const_defined?(:Encoding) + exempt_tags << '--tags ~@nowindows' if Gem.win_platform? exempt_tags << '--tags ~@travishatesme' if ENV['TRAVIS'] == 'true' t.cucumber_opts = "--color #{exempt_tags.join(' ')} --strict --format #{ENV['CUCUMBER_FORMAT'] || 'Fivemat'}" end @@ -27,6 +28,7 @@ Cucumber::Rake::Task.new(:cucumber_wip) do |t| exempt_tags = ['--tags @wip'] exempt_tags << '--tags ~@nojava' if RUBY_PLATFORM == 'java' exempt_tags << '--tags ~@encoding' unless Object.const_defined?(:Encoding) + exempt_tags << '--tags ~@nowindows' if Gem.win_platform? t.cucumber_opts = "--color #{exempt_tags.join(' ')} --strict --format #{ENV['CUCUMBER_FORMAT'] || 'Fivemat'}" end @@ -34,7 +36,7 @@ require 'rspec/core/rake_task' desc 'Run RSpec' RSpec::Core::RakeTask.new do |spec| spec.pattern = 'spec/**/*_spec.rb' - spec.rspec_opts = ['--color', '--format nested'] + spec.rspec_opts = ['--color', '--format documentation'] end desc 'Run tests, both RSpec and Cucumber' diff --git a/middleman-core/features/gzip.feature b/middleman-core/features/gzip.feature index 5a5a4265..93955a49 100644 --- a/middleman-core/features/gzip.feature +++ b/middleman-core/features/gzip.feature @@ -1,3 +1,4 @@ +@nowindows Feature: GZIP assets during build Scenario: Built assets should be gzipped diff --git a/middleman-core/features/more-implied_extensions.feature b/middleman-core/features/more-implied_extensions.feature index 31567443..10ee5b20 100644 --- a/middleman-core/features/more-implied_extensions.feature +++ b/middleman-core/features/more-implied_extensions.feature @@ -19,10 +19,7 @@ Feature: More default extensions When I go to "/stylesheets/style2.css" Then I should see "section" Then I should not see "I am in the layout" - When I go to "/stylesheets/style3.css" - Then I should see "color" - Then I should not see "I am in the layout" - + Scenario: Default extensions build Given a fixture app "more-implied-extensions-app" And a successfully built app at "more-implied-extensions-app" @@ -35,7 +32,6 @@ Feature: More default extensions | javascripts/app.js | | stylesheets/style.css | | stylesheets/style2.css | - | stylesheets/style3.css | And the file "test.html" should contain "Hello" And the file "test2.html" should contain "World" And the file "test3.html" should contain "Howdy" @@ -46,5 +42,3 @@ Feature: More default extensions And the file "stylesheets/style.css" should not contain "I am in the layout" And the file "stylesheets/style2.css" should contain "section" And the file "stylesheets/style2.css" should not contain "I am in the layout" - And the file "stylesheets/style3.css" should contain "color" - And the file "stylesheets/style3.css" should not contain "I am in the layout" \ No newline at end of file diff --git a/middleman-core/features/twitter-bootstrap-compile.feature b/middleman-core/features/twitter-bootstrap-compile.feature index 994cf11c..04ffc0ce 100644 --- a/middleman-core/features/twitter-bootstrap-compile.feature +++ b/middleman-core/features/twitter-bootstrap-compile.feature @@ -1,6 +1,6 @@ -@nojava -Feature: Compile a complicated Twitter bootstrap app +@nojava @nowindows +Feature: Compile a complicated Twitter bootstrap app Scenario: User drops Twitter Bootstrap source into an app - - Given a successfully built app at "twitter-bootstrap-app" \ No newline at end of file + + Given a successfully built app at "twitter-bootstrap-app" diff --git a/middleman-core/fixtures/more-implied-extensions-app/source/stylesheets/style3.less b/middleman-core/fixtures/more-implied-extensions-app/source/stylesheets/style3.less deleted file mode 100644 index 420d50d4..00000000 --- a/middleman-core/fixtures/more-implied-extensions-app/source/stylesheets/style3.less +++ /dev/null @@ -1,4 +0,0 @@ -@base: #f938ab; -.box { - color: @base; -} \ No newline at end of file diff --git a/middleman-core/lib/middleman-core/step_definitions.rb b/middleman-core/lib/middleman-core/step_definitions.rb index 4c14b091..95245f14 100644 --- a/middleman-core/lib/middleman-core/step_definitions.rb +++ b/middleman-core/lib/middleman-core/step_definitions.rb @@ -1,13 +1,21 @@ -MIDDLEMAN_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__))) -MIDDLEMAN_BIN_PATH = File.join(MIDDLEMAN_ROOT_PATH, 'bin') -ENV['PATH'] = "#{MIDDLEMAN_BIN_PATH}#{File::PATH_SEPARATOR}#{ENV['PATH']}" - require 'aruba/cucumber' require 'aruba/jruby' require 'middleman-core/step_definitions/middleman_steps' require 'middleman-core/step_definitions/builder_steps' require 'middleman-core/step_definitions/server_steps' +# Monkeypatch for windows support +module ArubaMonkeypatch + def detect_ruby(cmd) + if cmd.start_with?('middleman ') && Gem.win_platform? + "#{current_ruby} #{Dir.pwd}/bin/#{cmd}" + else + cmd.sub(/^ruby(?= )/, current_ruby) + end + end +end +World(ArubaMonkeypatch) + Before do @aruba_timeout_seconds = RUBY_PLATFORM == 'java' ? 120 : 60 end diff --git a/middleman-core/spec/middleman-core/binary_spec.rb b/middleman-core/spec/middleman-core/binary_spec.rb index 79944331..4f8d11d2 100644 --- a/middleman-core/spec/middleman-core/binary_spec.rb +++ b/middleman-core/spec/middleman-core/binary_spec.rb @@ -3,13 +3,13 @@ require 'middleman-core/util' describe "Middleman::Util#binary?" do %w(plain.txt unicode.txt unicode).each do |file| it "recognizes #{file} as not binary" do - expect(Middleman::Util.binary?(File.join(File.dirname(__FILE__), "binary_spec/#{file}"))).to be_false + expect(Middleman::Util.binary?(File.join(File.dirname(__FILE__), "binary_spec/#{file}"))).to be false end end %w(middleman.png middleman stars.svgz).each do |file| it "recognizes #{file} as binary" do - expect(Middleman::Util.binary?(File.join(File.dirname(__FILE__), "binary_spec/#{file}"))).to be_true + expect(Middleman::Util.binary?(File.join(File.dirname(__FILE__), "binary_spec/#{file}"))).to be true end end end