diff options
| author | Carlo Zancanaro <carlo@clearboxsystems.com.au> | 2013-09-02 00:45:48 +1000 | 
|---|---|---|
| committer | Carlo Zancanaro <carlo@clearboxsystems.com.au> | 2013-09-02 00:45:48 +1000 | 
| commit | ef4627e39f9746fe27238c862294df94ab4e164b (patch) | |
| tree | cca44cabee94511955dfb56dc7240ca9d9f9b750 | |
| parent | ef7f6a48b92680aeeea9ddbf1f4210e1d87d52e7 (diff) | |
Fix an issue relating to vars in the context macro
| -rw-r--r-- | src/reverse_routing/core.clj | 3 | ||||
| -rw-r--r-- | test/reverse_routing/core_test.clj | 6 | 
2 files changed, 5 insertions, 4 deletions
| diff --git a/src/reverse_routing/core.clj b/src/reverse_routing/core.clj index 377d75e..2907fb4 100644 --- a/src/reverse_routing/core.clj +++ b/src/reverse_routing/core.clj @@ -43,7 +43,8 @@          path-keys (vec (:keys (clout.core/route-compile string-path)))          keylen (count path-keys)          lookup-fn `(fn [[route-name# args-count#]] -                     (let [r# (#'lookup-route [route-name# (- args-count# ~keylen)] +                     (let [~args (repeat nil) ;; hacky, but necessary - provide nil values for args +                           r# (#'lookup-route [route-name# (- args-count# ~keylen)]                                                ~@routes)                             {uri# :uri, args# :args} r#]                         (if r# diff --git a/test/reverse_routing/core_test.clj b/test/reverse_routing/core_test.clj index 5dc50ba..8752de9 100644 --- a/test/reverse_routing/core_test.clj +++ b/test/reverse_routing/core_test.clj @@ -56,11 +56,11 @@                       (context "/user" []                         (register-route :user                           (GET "/" [id] (str "user list"))) -                       (context "/:id" [] +                       (context "/:id" [id]                           (register-route :user -                           (GET "/" [id] (str "user " id))) +                           (GET "/" [] (str "user " id)))                           (register-route :edit-user -                           (GET "/edit" [id] (str "edit user " id))))) +                           (GET "/edit" [] (str "edit user " id)))))                       (GET "/succeed1" [] (url-for :user))                       (GET "/succeed2" [] (url-for :user 10))                       (GET "/succeed3" [] (url-for :edit-user 10)) | 
