rely directly on rack-mock
This commit is contained in:
parent
926ba0036c
commit
c06fbcfc93
|
@ -50,9 +50,8 @@ module Middleman::Cli
|
||||||
raise Thor::Error, 'Error: Could not find a Middleman project config, perhaps you are in the wrong folder?'
|
raise Thor::Error, 'Error: Could not find a Middleman project config, perhaps you are in the wrong folder?'
|
||||||
end
|
end
|
||||||
|
|
||||||
# Use Rack::Test for inspecting a running server for output
|
|
||||||
require 'rack'
|
require 'rack'
|
||||||
require 'rack/test'
|
require 'rack/mock'
|
||||||
|
|
||||||
require 'find'
|
require 'find'
|
||||||
|
|
||||||
|
@ -115,7 +114,7 @@ module Middleman::Cli
|
||||||
@to_clean = Set.new
|
@to_clean = Set.new
|
||||||
|
|
||||||
@logger = @app.logger
|
@logger = @app.logger
|
||||||
@rack = ::Rack::Test::Session.new(@app.class.to_rack_app)
|
@rack = ::Rack::MockRequest.new(@app.class.to_rack_app)
|
||||||
|
|
||||||
super(base, @build_dir, config)
|
super(base, @build_dir, config)
|
||||||
end
|
end
|
||||||
|
|
|
@ -221,7 +221,7 @@ module Middleman
|
||||||
run_hook :before
|
run_hook :before
|
||||||
|
|
||||||
# Get the resource object for this path
|
# Get the resource object for this path
|
||||||
resource = sitemap.find_resource_by_destination_path(request_path)
|
resource = sitemap.find_resource_by_destination_path(request_path.gsub(' ', '%20'))
|
||||||
|
|
||||||
# Return 404 if not in sitemap
|
# Return 404 if not in sitemap
|
||||||
return not_found(res, request_path) unless resource && !resource.ignored?
|
return not_found(res, request_path) unless resource && !resource.ignored?
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# encoding: UTF-8
|
# encoding: UTF-8
|
||||||
|
|
||||||
require 'rack/test'
|
require 'rack/mock'
|
||||||
|
|
||||||
Given /^a clean server$/ do
|
Given /^a clean server$/ do
|
||||||
@initialize_commands = []
|
@initialize_commands = []
|
||||||
|
@ -57,7 +57,7 @@ Given /^the Server is running$/ do
|
||||||
end
|
end
|
||||||
|
|
||||||
app_rack = @server_inst.class.to_rack_app
|
app_rack = @server_inst.class.to_rack_app
|
||||||
@browser = ::Rack::Test::Session.new(::Rack::MockSession.new(app_rack))
|
@browser = ::Rack::MockRequest.new(app_rack)
|
||||||
end
|
end
|
||||||
|
|
||||||
Given /^the Server is running at "([^\"]*)"$/ do |app_path|
|
Given /^the Server is running at "([^\"]*)"$/ do |app_path|
|
||||||
|
@ -66,33 +66,37 @@ Given /^the Server is running at "([^\"]*)"$/ do |app_path|
|
||||||
end
|
end
|
||||||
|
|
||||||
When /^I go to "([^\"]*)"$/ do |url|
|
When /^I go to "([^\"]*)"$/ do |url|
|
||||||
@browser.get(URI.escape(url))
|
@last_response = @browser.get(URI.escape(url))
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^going to "([^\"]*)" should not raise an exception$/ do |url|
|
Then /^going to "([^\"]*)" should not raise an exception$/ do |url|
|
||||||
lambda { @browser.get(URI.escape(url)) }.should_not raise_exception
|
last_response = nil
|
||||||
|
lambda {
|
||||||
|
last_response = @browser.get(URI.escape(url))
|
||||||
|
}.should_not raise_exception
|
||||||
|
@last_response = last_response
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^the content type should be "([^\"]*)"$/ do |expected|
|
Then /^the content type should be "([^\"]*)"$/ do |expected|
|
||||||
@browser.last_response.content_type.should start_with(expected)
|
@last_response.content_type.should start_with(expected)
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should see "([^\"]*)"$/ do |expected|
|
Then /^I should see "([^\"]*)"$/ do |expected|
|
||||||
@browser.last_response.body.should include(expected)
|
@last_response.body.should include(expected)
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should see '([^\']*)'$/ do |expected|
|
Then /^I should see '([^\']*)'$/ do |expected|
|
||||||
@browser.last_response.body.should include(expected)
|
@last_response.body.should include(expected)
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should see:$/ do |expected|
|
Then /^I should see:$/ do |expected|
|
||||||
@browser.last_response.body.should include(expected)
|
@last_response.body.should include(expected)
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should not see "([^\"]*)"$/ do |expected|
|
Then /^I should not see "([^\"]*)"$/ do |expected|
|
||||||
@browser.last_response.body.should_not include(expected)
|
@last_response.body.should_not include(expected)
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should see "([^\"]*)" lines$/ do |lines|
|
Then /^I should see "([^\"]*)" lines$/ do |lines|
|
||||||
@browser.last_response.body.chomp.split($/).length.should == lines.to_i
|
@last_response.body.chomp.split($/).length.should == lines.to_i
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,7 +8,7 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension
|
||||||
super
|
super
|
||||||
|
|
||||||
require 'digest/sha1'
|
require 'digest/sha1'
|
||||||
require 'rack/test'
|
require 'rack/mock'
|
||||||
require 'uri'
|
require 'uri'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension
|
||||||
# Update the main sitemap resource list
|
# Update the main sitemap resource list
|
||||||
# @return [void]
|
# @return [void]
|
||||||
def manipulate_resource_list(resources)
|
def manipulate_resource_list(resources)
|
||||||
@rack_client ||= ::Rack::Test::Session.new(app.class.to_rack_app)
|
@rack_client = ::Rack::MockRequest.new(app.class.to_rack_app)
|
||||||
|
|
||||||
# Process resources in order: binary images and fonts, then SVG, then JS/CSS.
|
# Process resources in order: binary images and fonts, then SVG, then JS/CSS.
|
||||||
# This is so by the time we get around to the text files (which may reference
|
# This is so by the time we get around to the text files (which may reference
|
||||||
|
@ -43,7 +43,7 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension
|
||||||
return if ignored_resource?(resource)
|
return if ignored_resource?(resource)
|
||||||
|
|
||||||
# Render through the Rack interface so middleware and mounted apps get a shot
|
# Render through the Rack interface so middleware and mounted apps get a shot
|
||||||
response = @rack_client.get(URI.escape(resource.destination_path), {}, { 'bypass_asset_hash' => 'true' })
|
response = @rack_client.get(URI.escape(resource.destination_path), { 'bypass_asset_hash' => 'true' })
|
||||||
raise "#{resource.path} should be in the sitemap!" unless response.status == 200
|
raise "#{resource.path} should be in the sitemap!" unless response.status == 200
|
||||||
|
|
||||||
digest = Digest::SHA1.hexdigest(response.body)[0..7]
|
digest = Digest::SHA1.hexdigest(response.body)[0..7]
|
||||||
|
|
|
@ -22,9 +22,6 @@ Gem::Specification.new do |s|
|
||||||
s.add_dependency("rack", [">= 1.4.5"])
|
s.add_dependency("rack", [">= 1.4.5"])
|
||||||
s.add_dependency("tilt", ["~> 1.4.1"])
|
s.add_dependency("tilt", ["~> 1.4.1"])
|
||||||
|
|
||||||
# Builder
|
|
||||||
s.add_dependency("rack-test", ["~> 0.6.2"])
|
|
||||||
|
|
||||||
# Helpers
|
# Helpers
|
||||||
s.add_dependency("activesupport", ["~> 4.0.1"])
|
s.add_dependency("activesupport", ["~> 4.0.1"])
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue