test/router.rb in nephos-server-0.4.8 vs test/router.rb in nephos-server-0.5.0
- old
+ new
@@ -1,9 +1,15 @@
class TestController < Nephos::Controller
def method
{plain: "test"}
end
+ def method1
+ {plain: "test1"}
+ end
+ def method2
+ {plain: "test2"}
+ end
end
class TestNephosServerRouter < Test::Unit::TestCase
def reset_routes!
@@ -59,11 +65,11 @@
def test_valid_routes_params
reset_routes!
get url: "/:what", controller: "TestController", method: "method", silent: true
assert_equal "/:what", first[:url]
- assert_equal /^\/[[:graph:]]+$/, first[:match]
+ assert_equal /^\/[^\/]+$/, first[:match]
end
def test_valid_resources
reset_routes!
resource "/home" do
@@ -79,18 +85,57 @@
reset_routes!
resource "/home" do
get url: "/:what", controller: "TestController", method: "method", silent: true
end
assert_equal "/home/:what", first[:url]
- assert_equal /^\/home\/[[:graph:]]+$/, first[:match]
+ assert_equal /^\/home\/[^\/]+$/, first[:match]
end
- def test_valid_resources_params2
+ def test_valid_resources_params2
reset_routes!
resource "/:id" do
get url: "/show", controller: "TestController", method: "method", silent: true
end
assert_equal "/:id/show", first[:url]
- assert_equal /^\/[[:graph:]]+\/show$/, first[:match]
+ assert_equal /^\/[^\/]+\/show$/, first[:match]
+ end
+
+ def test_routing_matching_simple
+ reset_routes!
+ get url: "/index", controller: "TestController", method: "method", silent: true
+ post url: "/index", controller: "TestController", method: "method", silent: true
+ assert(Nephos::Router::parse_path(["index"], "GET"))
+ assert(Nephos::Router::parse_path(["index"], "POST"))
+ assert(Nephos::Router::parse_path(["index"], "PUT") == nil)
+ assert(Nephos::Router::parse_path(["indexx"], "GET") == nil)
+ assert(Nephos::Router::parse_path(["inde"], "GET") == nil)
+ end
+
+ def test_routing_matching_simple_with_arguments1
+ reset_routes!
+ get url: "/:id", controller: "TestController", method: "method1", silent: true
+ get url: "/:id/index", controller: "TestController", method: "method2", silent: true
+ assert(Nephos::Router::parse_path(["id", "index"], "GET"))
+ assert(Nephos::Router::parse_path(["XXX", "index"], "GET"))
+ assert(Nephos::Router::parse_path(["id"], "GET"))
+ assert(Nephos::Router::parse_path(["XXX"], "GET"))
+ assert(Nephos::Router::parse_path(["index", "id"], "GET") == nil)
+ end
+
+ def test_routing_matching_simple_with_arguments2
+ reset_routes!
+ get url: "/index", controller: "TestController", method: "method1", silent: true
+ get url: "/index/:id", controller: "TestController", method: "method1", silent: true
+ post url: "/index/:id/index", controller: "TestController", method: "method2", silent: true
+ assert(Nephos::Router::parse_path(["id", "index"], "GET") == nil)
+ assert(Nephos::Router::parse_path(["XXX", "index"], "GET") == nil)
+ assert(Nephos::Router::parse_path(["id"], "GET") == nil)
+ assert(Nephos::Router::parse_path(["XXX"], "GET") == nil)
+ assert(Nephos::Router::parse_path(["index", "id"], "GET"))
+ assert(Nephos::Router::parse_path(["index", "XXX"], "GET"))
+ assert(Nephos::Router::parse_path(["index", "XXX", "index"], "POST"))
+ assert(Nephos::Router::parse_path(["index", "XXX", "index"], "GET") == nil)
+ assert(Nephos::Router::parse_path(["index", "XXX", "id"], "POST") == nil)
+ assert(Nephos::Router::parse_path(["index", "XXX", "XXX"], "POST") == nil)
end
end