From 01234039295d04e58be232d0be0e28430c4adc6f Mon Sep 17 00:00:00 2001 From: Vit Brunner Date: Mon, 22 Dec 2014 09:37:59 +0100 Subject: [PATCH] Abstract and simplify route --- source/scripts/services/route.js.coffee | 7 ++++++- source/tests/services/route.js.coffee | 21 ++++----------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/source/scripts/services/route.js.coffee b/source/scripts/services/route.js.coffee index a7ff35c..1dea16b 100644 --- a/source/scripts/services/route.js.coffee +++ b/source/scripts/services/route.js.coffee @@ -29,9 +29,14 @@ angular.module("sideBySide").service "route", ['$location', ($location) -> return key + ":" + val.join(',') value + @get = () -> + (property + ':' + getValue(value) \ + for property, value of @params when value) + .join('/') + @update = (key, value) -> @params[key] = value - $location.path (property + ':' + getValue(value) for property, value of @params).join('/') + $location.path @get() @ ] diff --git a/source/tests/services/route.js.coffee b/source/tests/services/route.js.coffee index 4df891c..b46021a 100644 --- a/source/tests/services/route.js.coffee +++ b/source/tests/services/route.js.coffee @@ -21,32 +21,19 @@ test "has app url", () -> test "gets parameters", () -> setup() - deepEqual route.params, { - 'asdf': 'zxcv' - 'qwerty': 'asdf' - 'base': '' - } + equal route.get(), 'asdf:zxcv/qwerty:asdf' test "updates parameters", () -> setup() route.update('asdf', 'hjkl') - deepEqual route.params, { - 'asdf': 'hjkl' - 'qwerty': 'asdf' - 'base': '' - } + equal route.get(), 'asdf:hjkl/qwerty:asdf' test "adds parameter", () -> setup() route.update('new', 'one') - deepEqual route.params, { - 'asdf': 'zxcv' - 'qwerty': 'asdf' - 'base': '' - 'new': 'one' - } + equal route.get(), 'asdf:zxcv/qwerty:asdf/new:one' -test "gets arrays", () -> +test "processes arrays from url", () -> setup('http://example.com', '/display:Language:Czech,English', '') deepEqual route.params, {