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