class RackMountIntegrationTests
Constants
- Mapping
- Model
Attributes
controller[R]
routes[R]
Public Instance Methods
setup()
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 1981 def setup @routes = ActionDispatch::Routing::RouteSet.new @routes.draw(&Mapping) end
test_downcased_unicode_path()
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 2097 def test_downcased_unicode_path assert_equal({ controller: "news", action: "index" }, @routes.recognize_path(URI.parser.escape("こんにちは/世界").downcase, method: :get)) end
test_extras()
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 2079 def test_extras params = { controller: "people" } assert_equal [], @routes.extra_keys(params) assert_equal({ controller: "people", action: "index" }, params) params = { controller: "people", foo: "bar" } assert_equal [:foo], @routes.extra_keys(params) assert_equal({ controller: "people", action: "index", foo: "bar" }, params) params = { controller: "people", action: "create", person: { name: "Josh" } } assert_equal [:person], @routes.extra_keys(params) assert_equal({ controller: "people", action: "create", person: { name: "Josh" } }, params) end
test_generate_extras()
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 2061 def test_generate_extras assert_equal ["/people", []], @routes.generate_extras(controller: "people") assert_equal ["/people", [:foo]], @routes.generate_extras(controller: "people", foo: "bar") assert_equal ["/people", []], @routes.generate_extras(controller: "people", action: "index") assert_equal ["/people", [:foo]], @routes.generate_extras(controller: "people", action: "index", foo: "bar") assert_equal ["/people/new", []], @routes.generate_extras(controller: "people", action: "new") assert_equal ["/people/new", [:foo]], @routes.generate_extras(controller: "people", action: "new", foo: "bar") assert_equal ["/people/1", []], @routes.generate_extras(controller: "people", action: "show", id: "1") assert_equal ["/people/1", [:bar, :foo]], sort_extras!(@routes.generate_extras(controller: "people", action: "show", id: "1", foo: "2", bar: "3")) assert_equal ["/people", [:person]], @routes.generate_extras(controller: "people", action: "create", person: { first_name: "Josh", last_name: "Peek" }) assert_equal ["/people", [:people]], @routes.generate_extras(controller: "people", action: "create", people: ["Josh", "Dave"]) assert_equal ["/posts/show/1", []], @routes.generate_extras(controller: "posts", action: "show", id: "1") assert_equal ["/posts/show/1", [:bar, :foo]], sort_extras!(@routes.generate_extras(controller: "posts", action: "show", id: "1", foo: "2", bar: "3")) assert_equal ["/posts", []], @routes.generate_extras(controller: "posts", action: "index") assert_equal ["/posts", [:foo]], @routes.generate_extras(controller: "posts", action: "index", foo: "bar") end
test_recognize_path()
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 1986 def test_recognize_path assert_equal({ controller: "admin/users", action: "index" }, @routes.recognize_path("/admin/users", method: :get)) assert_equal({ controller: "admin/users", action: "create" }, @routes.recognize_path("/admin/users", method: :post)) assert_equal({ controller: "admin/users", action: "new" }, @routes.recognize_path("/admin/users/new", method: :get)) assert_equal({ controller: "admin/users", action: "show", id: "1" }, @routes.recognize_path("/admin/users/1", method: :get)) assert_equal({ controller: "admin/users", action: "update", id: "1" }, @routes.recognize_path("/admin/users/1", method: :put)) assert_equal({ controller: "admin/users", action: "destroy", id: "1" }, @routes.recognize_path("/admin/users/1", method: :delete)) assert_equal({ controller: "admin/users", action: "edit", id: "1" }, @routes.recognize_path("/admin/users/1/edit", method: :get)) assert_equal({ controller: "admin/posts", action: "index" }, @routes.recognize_path("/admin/posts", method: :get)) assert_equal({ controller: "admin/posts", action: "new" }, @routes.recognize_path("/admin/posts/new", method: :get)) assert_equal({ controller: "api/users", action: "index" }, @routes.recognize_path("/api", method: :get)) assert_equal({ controller: "api/users", action: "index" }, @routes.recognize_path("/api/", method: :get)) assert_equal({ controller: "posts", action: "show_date", year: "2009", month: nil, day: nil }, @routes.recognize_path("/blog/2009", method: :get)) assert_equal({ controller: "posts", action: "show_date", year: "2009", month: "01", day: nil }, @routes.recognize_path("/blog/2009/01", method: :get)) assert_equal({ controller: "posts", action: "show_date", year: "2009", month: "01", day: "01" }, @routes.recognize_path("/blog/2009/01/01", method: :get)) assert_equal({ controller: "archive", action: "index", year: "2010" }, @routes.recognize_path("/archive/2010")) assert_equal({ controller: "archive", action: "index" }, @routes.recognize_path("/archive")) assert_equal({ controller: "people", action: "index" }, @routes.recognize_path("/people", method: :get)) assert_equal({ controller: "people", action: "index", format: "xml" }, @routes.recognize_path("/people.xml", method: :get)) assert_equal({ controller: "people", action: "create" }, @routes.recognize_path("/people", method: :post)) assert_equal({ controller: "people", action: "new" }, @routes.recognize_path("/people/new", method: :get)) assert_equal({ controller: "people", action: "show", id: "1" }, @routes.recognize_path("/people/1", method: :get)) assert_equal({ controller: "people", action: "show", id: "1", format: "xml" }, @routes.recognize_path("/people/1.xml", method: :get)) assert_equal({ controller: "people", action: "update", id: "1" }, @routes.recognize_path("/people/1", method: :put)) assert_equal({ controller: "people", action: "destroy", id: "1" }, @routes.recognize_path("/people/1", method: :delete)) assert_equal({ controller: "people", action: "edit", id: "1" }, @routes.recognize_path("/people/1/edit", method: :get)) assert_equal({ controller: "people", action: "edit", id: "1", format: "xml" }, @routes.recognize_path("/people/1/edit.xml", method: :get)) assert_equal({ controller: "symbols", action: "show", name: :as_symbol }, @routes.recognize_path("/symbols")) assert_equal({ controller: "foo", action: "id_default", id: "1" }, @routes.recognize_path("/id_default/1")) assert_equal({ controller: "foo", action: "id_default", id: "2" }, @routes.recognize_path("/id_default/2")) assert_equal({ controller: "foo", action: "id_default", id: 1 }, @routes.recognize_path("/id_default")) assert_equal({ controller: "foo", action: "get_or_post" }, @routes.recognize_path("/get_or_post", method: :get)) assert_equal({ controller: "foo", action: "get_or_post" }, @routes.recognize_path("/get_or_post", method: :post)) assert_raise(ActionController::RoutingError) { @routes.recognize_path("/get_or_post", method: :put) } assert_raise(ActionController::RoutingError) { @routes.recognize_path("/get_or_post", method: :delete) } assert_equal({ controller: "posts", action: "index", optional: "bar" }, @routes.recognize_path("/optional/bar")) assert_raise(ActionController::RoutingError) { @routes.recognize_path("/optional") } assert_equal({ controller: "posts", action: "show", id: "1", ws: true }, @routes.recognize_path("/ws/posts/show/1", method: :get)) assert_equal({ controller: "posts", action: "list", ws: true }, @routes.recognize_path("/ws/posts/list", method: :get)) assert_equal({ controller: "posts", action: "index", ws: true }, @routes.recognize_path("/ws/posts", method: :get)) assert_equal({ controller: "account", action: "subscription" }, @routes.recognize_path("/account", method: :get)) assert_equal({ controller: "account", action: "subscription" }, @routes.recognize_path("/account/subscription", method: :get)) assert_equal({ controller: "account", action: "billing" }, @routes.recognize_path("/account/billing", method: :get)) assert_equal({ page_id: "1", controller: "notes", action: "index" }, @routes.recognize_path("/pages/1/notes", method: :get)) assert_equal({ page_id: "1", controller: "notes", action: "list" }, @routes.recognize_path("/pages/1/notes/list", method: :get)) assert_equal({ page_id: "1", controller: "notes", action: "show", id: "2" }, @routes.recognize_path("/pages/1/notes/show/2", method: :get)) assert_equal({ controller: "posts", action: "ping" }, @routes.recognize_path("/posts/ping", method: :get)) assert_equal({ controller: "posts", action: "index" }, @routes.recognize_path("/posts", method: :get)) assert_equal({ controller: "posts", action: "index" }, @routes.recognize_path("/posts/index", method: :get)) assert_equal({ controller: "posts", action: "show" }, @routes.recognize_path("/posts/show", method: :get)) assert_equal({ controller: "posts", action: "show", id: "1" }, @routes.recognize_path("/posts/show/1", method: :get)) assert_equal({ controller: "posts", action: "create" }, @routes.recognize_path("/posts/create", method: :post)) assert_equal({ controller: "geocode", action: "show", postalcode: "hx12-1az" }, @routes.recognize_path("/ignorecase/geocode/hx12-1az")) assert_equal({ controller: "geocode", action: "show", postalcode: "hx12-1AZ" }, @routes.recognize_path("/ignorecase/geocode/hx12-1AZ")) assert_equal({ controller: "geocode", action: "show", postalcode: "12345-1234" }, @routes.recognize_path("/extended/geocode/12345-1234")) assert_equal({ controller: "geocode", action: "show", postalcode: "12345" }, @routes.recognize_path("/extended/geocode/12345")) assert_equal({ controller: "news", action: "index" }, @routes.recognize_path("/", method: :get)) assert_equal({ controller: "news", action: "index", format: "rss" }, @routes.recognize_path("/news.rss", method: :get)) assert_raise(ActionController::RoutingError) { @routes.recognize_path("/none", method: :get) } end
test_unicode_path()
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 2093 def test_unicode_path assert_equal({ controller: "news", action: "index" }, @routes.recognize_path(URI.parser.escape("こんにちは/世界"), method: :get)) end
Private Instance Methods
sort_extras!(extras)
click to toggle source
# File actionpack/test/controller/routing_test.rb, line 2102 def sort_extras!(extras) if extras.length == 2 extras[1].sort! { |a, b| a.to_s <=> b.to_s } end extras end