diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-04-22 10:24:07 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-04-22 10:24:07 +0200 |
commit | bcba311485074e75ad62f338cc8159bf99522fab (patch) | |
tree | 56d011f2a48c87e9e727c016d31f14ee47da83e1 | |
parent | 5f71477e1a8ac9704e5c580a5bb5d8d820a43a19 (diff) |
add http:// to feed url if its not specified, fix #111 and fix #61
-rw-r--r-- | js/app/services/businesslayer/feedbusinesslayer.coffee | 2 | ||||
-rw-r--r-- | js/public/app.js | 5 | ||||
-rw-r--r-- | js/tests/services/businesslayer/feedbusinesslayerSpec.coffee | 22 |
3 files changed, 21 insertions, 8 deletions
diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee index 0ad81d875..9d2f37390 100644 --- a/js/app/services/businesslayer/feedbusinesslayer.coffee +++ b/js/app/services/businesslayer/feedbusinesslayer.coffee @@ -139,6 +139,8 @@ FeedModel, NewLoading, _ExistsError, Utils) -> throw new Error('Url must not be empty') url = url.trim() + if url.indexOf('http') != 0 + url = 'http://' + url if @_feedModel.getByUrl(url) throw new _ExistsError('Exists already') diff --git a/js/public/app.js b/js/public/app.js index 92f5f1926..de1725c2c 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -41,7 +41,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. return $provide.value('Config', config = { markReadTimeout: 500, scrollTimeout: 500, - feedUpdateInterval: 1000 * 60 * 5, + feedUpdateInterval: 1000 * 60 * 3, itemBatchSize: 20, autoPageFactor: 6 }); @@ -870,6 +870,9 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. throw new Error('Url must not be empty'); } url = url.trim(); + if (url.indexOf('http') !== 0) { + url = 'http://' + url; + } if (this._feedModel.getByUrl(url)) { throw new _ExistsError('Exists already'); } diff --git a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee index d14d50b8d..2bb37c023 100644 --- a/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee +++ b/js/tests/services/businesslayer/feedbusinesslayerSpec.coffee @@ -243,7 +243,7 @@ describe 'FeedBusinessLayer', -> it 'should not create a feed if it already exists', => - item1 = {url: 'john'} + item1 = {url: 'http://john'} @FeedModel.add(item1) expect => @@ -266,24 +266,32 @@ describe 'FeedBusinessLayer', -> expect(@FeedModel.size()).toBe(1) - it 'should set a title and an url hash to the newly crated feed', => + it 'should set a title and an url to the newly created feed', => url = 'www.google.de' @FeedBusinessLayer.create(url) - feed = @FeedModel.getByUrl(url) + feed = @FeedModel.getByUrl('http://' + url) - expect(feed.title).toBe('www.google.de') - expect(feed.url).toBe(url) + expect(feed.title).toBe('http://www.google.de') + expect(feed.url).toBe('http://' + url) expect(feed.folderId).toBe(0) expect(feed.unreadCount).toBe(0) expect(@imagePath).toHaveBeenCalledWith('core', 'loading.gif') + it 'should not add http when it already is at the start of created feed', => + url = 'https://www.google.de' + @FeedBusinessLayer.create(url) + feed = @FeedModel.getByUrl(url) + + expect(feed.url).toBe(url) + + it 'should make a create feed request', => @persistence.createFeed = jasmine.createSpy('add feed') @FeedBusinessLayer.create(' johns ') - expect(@persistence.createFeed).toHaveBeenCalledWith('johns', 0, + expect(@persistence.createFeed).toHaveBeenCalledWith('http://johns', 0, jasmine.any(Function)) @@ -316,7 +324,7 @@ describe 'FeedBusinessLayer', -> expect(onSuccess).not.toHaveBeenCalled() expect(onFailure).toHaveBeenCalled() - expect(@FeedModel.getByUrl('johns').error).toBe( + expect(@FeedModel.getByUrl('http://johns').error).toBe( @response.msg) |