Sha256: 51248b58e41fabaa1b0d6063db4751c02654f258fdb7e870a35bd714a0c18963

Contents?: true

Size: 990 Bytes

Versions: 1

Compression:

Stored size: 990 Bytes

Contents

require "#{File.dirname(__FILE__)}/../../test/helpers.rb"
require 'foundations/compact'

describe "A resource that has matched a request" do
    
  before do
    Test = Module.new { include Waves::Foundations::Compact }
    Waves << Test
    
    @request = Waves::Request.new( env('http://localhost/baz?bar=7', :method => 'GET' ) )
    Test::Resources::Map.on( :get, [ :foo ] ) {}
    @resource = Test::Resources::Map.new( @request )
    @resource.get
  end
  
  after do
    Waves.applications.clear
    Object.instance_eval { remove_const(:Test) if const_defined?(:Test) }
  end
  
  it "makes parameters captured from the path available as #captured" do
    @resource.captured.to_h.should == { 'foo' => 'baz' }
  end
  
  it "makes http query parameters available as #query" do
    @resource.query.to_h.should == { 'bar' => '7' }
  end
  
  it "provides access to all derived parameters using #params" do
    @resource.params.to_h.should == { 'foo' => 'baz', 'bar' => '7' }
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
waves-edge-2009.03.10.13.14 test/match/params.rb