parse fullpath for ignore

This commit is contained in:
Robert Coleman 2013-11-26 12:48:21 +13:00
parent 13ac1c85f3
commit 64449acbc9
2 changed files with 12 additions and 4 deletions

View File

@ -28,7 +28,8 @@ module Rack
end
def ignored?
@options[:ignore] and @options[:ignore].any? { |filter| @env['PATH_INFO'][filter] }
path = @env['QUERY_STRING'].empty? ? @env['PATH_INFO'] : "#{@env['PATH_INFO']}?#{@env['QUERY_STRING']}"
@options[:ignore] and @options[:ignore].any? { |filter| path[filter] }
end
def bad_browser?

View File

@ -22,13 +22,13 @@ describe Rack::LiveReload::ProcessingSkipAnalyzer do
let(:options) { { :ignore => [ %r{file} ] } }
context 'path contains ignore pattern' do
let(:env) { { 'PATH_INFO' => '/this/file' } }
let(:env) { { 'PATH_INFO' => '/this/file', 'QUERY_STRING' => '' } }
it { should be_ignored }
end
context 'root path' do
let(:env) { { 'PATH_INFO' => '/' } }
let(:env) { { 'PATH_INFO' => '/', 'QUERY_STRING' => '' } }
it { should_not be_ignored }
end
@ -56,7 +56,8 @@ describe Rack::LiveReload::ProcessingSkipAnalyzer do
describe '#ignored?' do
let(:path_info) { 'path info' }
let(:env) { { 'PATH_INFO' => path_info } }
let(:query_string) { 'query_string' }
let(:env) { { 'PATH_INFO' => path_info, 'QUERY_STRING' => query_string } }
context 'no ignore set' do
it { should_not be_ignored }
@ -67,6 +68,12 @@ describe Rack::LiveReload::ProcessingSkipAnalyzer do
it { should be_ignored }
end
context 'ignore set including query_string' do
let(:options) { { :ignore => [ %r{#{path_info}\?#{query_string}} ] } }
it { should be_ignored }
end
end
describe '#bad_browser?' do