From c0d23f5579e67caa58a8b3017eeec843bf15d87c Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Tue, 19 Mar 2013 21:30:53 +0100 Subject: [PATCH] Be more specific when catching 'URL not found' error, also add test --- assets/scripts/app/routes.coffee | 2 +- assets/scripts/spec/routes_spec.coffee | 7 +++++++ assets/scripts/spec/support/conditions.coffee | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 assets/scripts/spec/routes_spec.coffee diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index c7cd5df0..ac4dc99c 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -9,7 +9,7 @@ Ember.Router.reopen try @_super(url) catch error - @_super('/not-found') + @_super('/not-found') if error.message.match(/No route matched the URL/) # TODO: don't reopen Ember.Route to add events, there should be # a better way (like "parent" resource for everything inside map) diff --git a/assets/scripts/spec/routes_spec.coffee b/assets/scripts/spec/routes_spec.coffee new file mode 100644 index 00000000..6f17472f --- /dev/null +++ b/assets/scripts/spec/routes_spec.coffee @@ -0,0 +1,7 @@ +describe 'router', -> + it 'renders notFound template when URL can\t be found', -> + app '/somehing/something/something/.../dark/side/..../something/something/something/.../complete' + waitFor appRendered + runs -> + expect( $('#main').text().trim() ).toEqual('The requested page was not found.') + diff --git a/assets/scripts/spec/support/conditions.coffee b/assets/scripts/spec/support/conditions.coffee index fbc74720..c490eee0 100644 --- a/assets/scripts/spec/support/conditions.coffee +++ b/assets/scripts/spec/support/conditions.coffee @@ -12,3 +12,4 @@ @queuesRendered = notEmpty('#queue_linux li') @workersRendered = notEmpty('.worker') @logRendered = notEmpty('#log p') +@appRendered = -> $('.ember-view.application').length