Sha256: c023c881f0d40fe31720ff2c13aeafcce538056c25e6174db0a623d5d861e479
Contents?: true
Size: 1.79 KB
Versions: 2
Compression:
Stored size: 1.79 KB
Contents
require 'spec_helper' describe Muster::Rack do let(:application) { lambda{|env| [200, {'Content-Type' => 'text/plain'}, '']} } let(:environment) { Rack::MockRequest.env_for('/?name=value&order=name') } let(:options) { {} } let(:middleware) { Muster::Rack.new(application, Muster::Strategies::Hash, options) } it 'parse query string with strategy' do middleware.call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'} end it 'accepts options for middlewhere' do options[:field] = :name middleware.call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value'} end it 'accepts a strategy instance' do strategy = Muster::Strategies::Hash.new(:field => :name) Muster::Rack.new(application, strategy).call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value'} end it 'merges multiple strategies into one result' do Muster::Rack.new(application, Muster::Strategies::Hash, :field => :name).call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value'} Muster::Rack.new(application, Muster::Strategies::Hash, :field => :order).call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'} end it 'supports indifferent access' do Muster::Rack.new(application, Muster::Strategies::Hash, :field => :name).call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value'} Muster::Rack.new(application, Muster::Strategies::Hash, :field => :order).call(environment) environment[Muster::Rack::QUERY].should == {'name' => 'value', 'order' => 'name'} environment[Muster::Rack::QUERY]['name'].should eq 'value' environment[Muster::Rack::QUERY][:name].should eq 'value' end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
muster-0.0.3 | spec/muster/rack_spec.rb |
muster-0.0.2 | spec/muster/rack_spec.rb |