Sha256: 46f2f88553ee5b2b15c56b92a15589f453c85689c7c633614e2b724c9edfd291

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

require 'kontrol'

describe Kontrol::Route do

  it "should recognize a request" do
    route = Kontrol::Route.new(:test, "/test", nil, nil)
    request = Rack::Request.new('PATH_INFO' => '/test')

    match = route.recognize(request)

    match.should_not be_nil
    match[0].should == '/test'
  end

  it "should recognize a request by options" do
    route = Kontrol::Route.new(:test, "/test", { :request_method => 'GET' }, nil)
    request = Rack::Request.new('PATH_INFO' => '/test', 'REQUEST_METHOD' => 'GET')

    match = route.recognize(request)

    match.should_not be_nil
    match[0].should == '/test'
  end

  it "should recognize a request with groups" do
    route = Kontrol::Route.new(:test, "/test/(.*)/(.*)", nil, nil)
    request = Rack::Request.new('PATH_INFO' => '/test/me/here')

    match = route.recognize(request)

    match.should_not be_nil
    match[0].should == '/test/me/here'
    match[1].should == 'me'
    match[2].should == 'here'
  end

  it "should generate a path" do
    route = Kontrol::Route.new(:test, "/test", nil, nil)

    route.generate.should == '/test'
  end
  
  it "should generate a path with groups" do
    route = Kontrol::Route.new(:test, "/test/(.*)/me/(\d\d)", nil, nil)

    route.generate(1, 22).should == '/test/1/me/22'
  end

end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
georgi-kontrol-0.2 test/route_spec.rb
georgi-kontrol-0.3 test/route_spec.rb
kontrol-0.4 test/route_spec.rb
kontrol-0.3.3 test/route_spec.rb
kontrol-0.3.2 test/route_spec.rb
kontrol-0.3.1 test/route_spec.rb
kontrol-0.3 test/route_spec.rb