From 3e44ca6dc24d5ffc4cb678532a5afa3b026780ce Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Fri, 17 Jul 2015 14:09:00 +0200 Subject: Added unit tests for right sidebar --- apps/files/tests/js/detailsviewSpec.js | 95 +++++++++++++++++++++++ apps/files/tests/js/favoritespluginspec.js | 2 +- apps/files/tests/js/filelistSpec.js | 46 ++++++++++- apps/files/tests/js/mainfileinfodetailviewSpec.js | 77 ++++++++++++++++++ 4 files changed, 218 insertions(+), 2 deletions(-) create mode 100644 apps/files/tests/js/detailsviewSpec.js create mode 100644 apps/files/tests/js/mainfileinfodetailviewSpec.js (limited to 'apps/files/tests/js') diff --git a/apps/files/tests/js/detailsviewSpec.js b/apps/files/tests/js/detailsviewSpec.js new file mode 100644 index 00000000000..b00c15032b0 --- /dev/null +++ b/apps/files/tests/js/detailsviewSpec.js @@ -0,0 +1,95 @@ +/** +* ownCloud +* +* @author Vincent Petry +* @copyright 2015 Vincent Petry +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +* License as published by the Free Software Foundation; either +* version 3 of the License, or any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU AFFERO GENERAL PUBLIC LICENSE for more details. +* +* You should have received a copy of the GNU Affero General Public +* License along with this library. If not, see . +* +*/ + +describe('OCA.Files.DetailsView tests', function() { + var detailsView; + + beforeEach(function() { + detailsView = new OCA.Files.DetailsView(); + }); + afterEach(function() { + detailsView.destroy(); + detailsView = undefined; + }); + it('renders itself empty when nothing registered', function() { + detailsView.render(); + expect(detailsView.$el.find('.detailFileInfoContainer').length).toEqual(1); + expect(detailsView.$el.find('.tabsContainer').length).toEqual(1); + }); + describe('file info detail view', function() { + it('renders registered view', function() { + var testView = new OCA.Files.DetailFileInfoView(); + var testView2 = new OCA.Files.DetailFileInfoView(); + detailsView.addDetailView(testView); + detailsView.addDetailView(testView2); + detailsView.render(); + + expect(detailsView.$el.find('.detailFileInfoContainer .detailFileInfoView').length).toEqual(2); + }); + it('updates registered tabs when fileinfo is updated', function() { + var viewRenderStub = sinon.stub(OCA.Files.DetailFileInfoView.prototype, 'render'); + var testView = new OCA.Files.DetailFileInfoView(); + var testView2 = new OCA.Files.DetailFileInfoView(); + detailsView.addDetailView(testView); + detailsView.addDetailView(testView2); + detailsView.render(); + + var fileInfo = {id: 5, name: 'test.txt'}; + viewRenderStub.reset(); + detailsView.setFileInfo(fileInfo); + + expect(testView.getFileInfo()).toEqual(fileInfo); + expect(testView2.getFileInfo()).toEqual(fileInfo); + + expect(viewRenderStub.callCount).toEqual(2); + viewRenderStub.restore(); + }); + }); + describe('tabs', function() { + it('renders registered tabs', function() { + var testView = new OCA.Files.DetailTabView('test1'); + var testView2 = new OCA.Files.DetailTabView('test2'); + detailsView.addTabView(testView); + detailsView.addTabView(testView2); + detailsView.render(); + + expect(detailsView.$el.find('.tabsContainer .detailTabView').length).toEqual(2); + }); + it('updates registered tabs when fileinfo is updated', function() { + var tabRenderStub = sinon.stub(OCA.Files.DetailTabView.prototype, 'render'); + var testView = new OCA.Files.DetailTabView('test1'); + var testView2 = new OCA.Files.DetailTabView('test2'); + detailsView.addTabView(testView); + detailsView.addTabView(testView2); + detailsView.render(); + + var fileInfo = {id: 5, name: 'test.txt'}; + tabRenderStub.reset(); + detailsView.setFileInfo(fileInfo); + + expect(testView.getFileInfo()).toEqual(fileInfo); + expect(testView2.getFileInfo()).toEqual(fileInfo); + + expect(tabRenderStub.callCount).toEqual(2); + tabRenderStub.restore(); + }); + }); +}); diff --git a/apps/files/tests/js/favoritespluginspec.js b/apps/files/tests/js/favoritespluginspec.js index 90b40ede74b..1b144c28707 100644 --- a/apps/files/tests/js/favoritespluginspec.js +++ b/apps/files/tests/js/favoritespluginspec.js @@ -113,7 +113,7 @@ describe('OCA.Files.FavoritesPlugin tests', function() { shareOwner: 'user2' }]); - fileList.findFileEl('testdir').find('td a.name').click(); + fileList.findFileEl('testdir').find('td .nametext').click(); expect(OCA.Files.App.fileList.getCurrentDirectory()).toEqual('/somewhere/inside/subdir/testdir'); diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 09d698088ae..5c0c8c96bc5 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -1870,6 +1870,50 @@ describe('OCA.Files.FileList tests', function() { }); }) }); + describe('Details sidebar', function() { + beforeEach(function() { + fileList.setFiles(testFiles); + }); + it('Clicking on a file row will trigger file action if no details view configured', function() { + fileList._detailsView = null; + var updateDetailsViewStub = sinon.stub(fileList, '_updateDetailsView'); + var actionStub = sinon.stub(); + fileList.setFiles(testFiles); + fileList.fileActions.register( + 'text/plain', + 'Test', + OC.PERMISSION_ALL, + function() { + // Specify icon for hitory button + return OC.imagePath('core','actions/history'); + }, + actionStub + ); + fileList.fileActions.setDefault('text/plain', 'Test'); + var $tr = fileList.findFileEl('One.txt'); + $tr.find('td.filename>a.name').click(); + expect(actionStub.calledOnce).toEqual(true); + expect(updateDetailsViewStub.notCalled).toEqual(true); + updateDetailsViewStub.restore(); + }); + it('Clicking on a file row will trigger details sidebar', function() { + fileList.fileActions.setDefault('text/plain', 'Test'); + var $tr = fileList.findFileEl('One.txt'); + $tr.find('td.filename>a.name').click(); + expect($tr.hasClass('highlighted')).toEqual(true); + + expect(fileList._detailsView.getFileInfo().id).toEqual(1); + }); + it('Clicking outside to deselect a file row will trigger details sidebar', function() { + var $tr = fileList.findFileEl('One.txt'); + $tr.find('td.filename>a.name').click(); + + fileList.$el.find('tfoot').click(); + + expect($tr.hasClass('highlighted')).toEqual(false); + expect(fileList._detailsView.getFileInfo()).toEqual(null); + }); + }); describe('File actions', function() { it('Clicking on a file name will trigger default action', function() { var actionStub = sinon.stub(); @@ -1886,7 +1930,7 @@ describe('OCA.Files.FileList tests', function() { ); fileList.fileActions.setDefault('text/plain', 'Test'); var $tr = fileList.findFileEl('One.txt'); - $tr.find('td.filename>a.name').click(); + $tr.find('td.filename .nametext').click(); expect(actionStub.calledOnce).toEqual(true); expect(actionStub.getCall(0).args[0]).toEqual('One.txt'); var context = actionStub.getCall(0).args[1]; diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js new file mode 100644 index 00000000000..e4b3adc578e --- /dev/null +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -0,0 +1,77 @@ +/** +* ownCloud +* +* @author Vincent Petry +* @copyright 2015 Vincent Petry +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +* License as published by the Free Software Foundation; either +* version 3 of the License, or any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU AFFERO GENERAL PUBLIC LICENSE for more details. +* +* You should have received a copy of the GNU Affero General Public +* License along with this library. If not, see . +* +*/ + +describe('OCA.Files.MainFileInfoDetailView tests', function() { + var view, tipsyStub; + + beforeEach(function() { + tipsyStub = sinon.stub($.fn, 'tipsy'); + view = new OCA.Files.MainFileInfoDetailView(); + }); + afterEach(function() { + view.destroy(); + view = undefined; + tipsyStub.restore(); + }); + describe('rendering', function() { + var testFileInfo; + beforeEach(function() { + view = new OCA.Files.MainFileInfoDetailView(); + testFileInfo = { + id: 5, + name: 'One.txt', + path: '/subdir', + size: 123456789, + dateLabel: new Date(Date.UTC(2015, 6, 17, 1, 2, 3, 4)) + }; + }); + it('displays basic info', function() { + var clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 0)); + view.setFileInfo(testFileInfo); + expect(view.$el.find('.fileName').text()).toEqual('One.txt'); + expect(view.$el.find('.fileName').attr('title')).toEqual('One.txt'); + expect(view.$el.find('.size').text()).toEqual('117.7 MB'); + expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes'); + expect(view.$el.find('.date').text()).toEqual('a few seconds ago'); + expect(view.$el.find('.date').attr('title')).toEqual('July 17, 2015 3:02 AM'); + clock.restore(); + }); + it('displays favorite icon', function() { + view.setFileInfo(_.extend(testFileInfo, { + tags: [OC.FAVORITE] + })); + expect(OC.TestUtil.getImageUrl(view.$el.find('.favorite img'))) + .toEqual(OC.imagePath('core', 'actions/starred')); + + view.setFileInfo(_.extend(testFileInfo, { + tags: [] + })); + expect(OC.TestUtil.getImageUrl(view.$el.find('.favorite img'))) + .toEqual(OC.imagePath('core', 'actions/star')); + }); + it('displays mime icon', function() { + // TODO + }); + it('displays thumbnail', function() { + // TODO + }); + }); +}); -- cgit v1.2.3 From e0bcd56402b3e3ac43ebbce62c18b34faef0970e Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Fri, 17 Jul 2015 15:19:11 +0200 Subject: More work on right sidebar unit tests --- apps/files/tests/js/mainfileinfodetailviewSpec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'apps/files/tests/js') diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index e4b3adc578e..ed7c6401a77 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -56,15 +56,15 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() { }); it('displays favorite icon', function() { view.setFileInfo(_.extend(testFileInfo, { - tags: [OC.FAVORITE] + tags: [OC.TAG_FAVORITE] })); - expect(OC.TestUtil.getImageUrl(view.$el.find('.favorite img'))) + expect(view.$el.find('.favorite img').attr('src')) .toEqual(OC.imagePath('core', 'actions/starred')); view.setFileInfo(_.extend(testFileInfo, { tags: [] })); - expect(OC.TestUtil.getImageUrl(view.$el.find('.favorite img'))) + expect(view.$el.find('.favorite img').attr('src')) .toEqual(OC.imagePath('core', 'actions/star')); }); it('displays mime icon', function() { -- cgit v1.2.3 From 734c6b0b6f10cb8cb39773e1c93088c24c9f50af Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 22 Jul 2015 20:15:12 +0200 Subject: extend MainFileInfoDetailView JS tests --- apps/files/tests/js/mainfileinfodetailviewSpec.js | 32 ++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'apps/files/tests/js') diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index ed7c6401a77..2dec4ea8a1a 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -20,16 +20,19 @@ */ describe('OCA.Files.MainFileInfoDetailView tests', function() { - var view, tipsyStub; + var view, tipsyStub, previewStub, fncLazyLoadPreview, fileListMock; beforeEach(function() { tipsyStub = sinon.stub($.fn, 'tipsy'); + fileListMock = sinon.mock(OCA.Files.FileList.prototype); view = new OCA.Files.MainFileInfoDetailView(); }); afterEach(function() { view.destroy(); view = undefined; tipsyStub.restore(); + fileListMock.restore(); + }); describe('rendering', function() { var testFileInfo; @@ -68,10 +71,33 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() { .toEqual(OC.imagePath('core', 'actions/star')); }); it('displays mime icon', function() { - // TODO + // File + view.setFileInfo(_.extend(testFileInfo, { + mimetype: 'text/calendar' + })); + + expect(view.$el.find('.thumbnail').css('background-image')) + .toContain('filetypes/text-calendar.svg'); + + // Folder + view.setFileInfo(_.extend(testFileInfo, { + mimetype: 'httpd/unix-directory' + })); + + expect(view.$el.find('.thumbnail').css('background-image')) + .toContain('filetypes/folder.svg'); }); it('displays thumbnail', function() { - // TODO + view.setFileInfo(_.extend(testFileInfo, { + mimetype: 'text/plain' + })); + + var expectation = fileListMock.expects('lazyLoadPreview'); + expectation.once(); + + view.setFileInfo(testFileInfo); + + fileListMock.verify(); }); }); }); -- cgit v1.2.3 From 781ba420c95576ead4e8275b05fb72ea72b0d9c6 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 29 Jul 2015 17:36:07 +0200 Subject: Use own tabs impl in files sidebar Also change style. --- apps/files/css/detailsView.css | 1 + apps/files/js/detailsview.js | 64 +++++++++++++++++++++++++++------- apps/files/js/detailtabview.js | 4 +-- apps/files/tests/js/detailsviewSpec.js | 32 +++++++++++------ core/css/apps.css | 48 +++++++++++++++++++++++++ 5 files changed, 123 insertions(+), 26 deletions(-) (limited to 'apps/files/tests/js') diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css index e89a6a36f4c..78d3357fbd0 100644 --- a/apps/files/css/detailsView.css +++ b/apps/files/css/detailsView.css @@ -41,3 +41,4 @@ right: 0; margin: 15px; } + diff --git a/apps/files/js/detailsview.js b/apps/files/js/detailsview.js index 03fe736856e..7b7bd013f9e 100644 --- a/apps/files/js/detailsview.js +++ b/apps/files/js/detailsview.js @@ -14,15 +14,17 @@ '
' + '
' + '
' + - '
' + - '
    ' + + '
    ' + + '
      ' + '
    ' + + '
    ' + + '
    ' + '
    ' + ' ' + '
'; var TEMPLATE_TAB_HEADER = - '
  • {{label}}
  • '; + '
  • {{label}}
  • '; /** * @class OCA.Files.DetailsView @@ -69,11 +71,17 @@ */ _detailFileInfoViews: [], + /** + * Id of the currently selected tab + * + * @type string + */ + _currentTabId: null, + /** * Initialize the details view */ initialize: function() { - var self = this; this.$el = $('
    '); this.fileInfo = null; this._tabViews = []; @@ -84,8 +92,10 @@ event.preventDefault(); }); + this.$el.on('click', '.tabHeaders .tabHeader', _.bind(this._onClickTab, this)); + // uncomment to add some dummy tabs for testing - // this._addTestTabs(); + //this._addTestTabs(); }, /** @@ -97,6 +107,27 @@ } }, + _onClickTab: function(e) { + var $target = $(e.target); + if (!$target.hasClass('tabHeader')) { + $target = $target.closest('.tabHeader'); + } + var tabIndex = $target.attr('data-tabindex'); + var targetTab; + if (_.isUndefined(tabIndex)) { + return; + } + + this.$el.find('.tabsContainer .tab').addClass('hidden'); + targetTab = this._tabViews[tabIndex]; + targetTab.$el.removeClass('hidden'); + + this.$el.find('.tabHeaders li').removeClass('selected'); + $target.addClass('selected'); + + e.preventDefault(); + }, + _addTestTabs: function() { for (var j = 0; j < 2; j++) { var testView = new OCA.Files.DetailTabView('testtab' + j); @@ -131,7 +162,7 @@ closeLabel: t('files', 'Close') })); var $tabsContainer = $el.find('.tabsContainer'); - var $tabHeadsContainer = $el.find('.tabHeadsContainer'); + var $tabHeadsContainer = $el.find('.tabHeaders'); var $detailsContainer = $el.find('.detailFileInfoContainer'); // render details @@ -140,14 +171,25 @@ }); if (this._tabViews.length > 0) { + if (!this._currentTab) { + this._currentTab = this._tabViews[0].getId(); + } + // render tabs - _.each(this._tabViews, function(tabView) { + _.each(this._tabViews, function(tabView, i) { // hidden by default - $tabsContainer.append(tabView.get$()); + var $el = tabView.get$(); + var isCurrent = (tabView.getId() === self._currentTab); + if (!isCurrent) { + $el.addClass('hidden'); + } + $tabsContainer.append($el); $tabHeadsContainer.append(self._templateTabHeader({ tabId: tabView.getId(), - label: tabView.getLabel() + tabIndex: i, + label: tabView.getLabel(), + selected: isCurrent })); }); } @@ -155,10 +197,6 @@ // TODO: select current tab this.$el.append($el); - - if (this._tabViews.length > 0) { - $tabsContainer.tabs({}); - } }, /** diff --git a/apps/files/js/detailtabview.js b/apps/files/js/detailtabview.js index 7e0f9eff16f..b9b1dda2ccc 100644 --- a/apps/files/js/detailtabview.js +++ b/apps/files/js/detailtabview.js @@ -59,8 +59,8 @@ throw 'Argument "id" is required'; } this._id = id; - this.$el = $('
    '); - this.$el.attr('id', id); + this.$el = $('
    '); + this.$el.attr('data-tabid', id); }, /** diff --git a/apps/files/tests/js/detailsviewSpec.js b/apps/files/tests/js/detailsviewSpec.js index b00c15032b0..db1e24fd68e 100644 --- a/apps/files/tests/js/detailsviewSpec.js +++ b/apps/files/tests/js/detailsviewSpec.js @@ -64,23 +64,20 @@ describe('OCA.Files.DetailsView tests', function() { }); }); describe('tabs', function() { - it('renders registered tabs', function() { - var testView = new OCA.Files.DetailTabView('test1'); - var testView2 = new OCA.Files.DetailTabView('test2'); + var testView, testView2; + + beforeEach(function() { + testView = new OCA.Files.DetailTabView('test1'); + testView2 = new OCA.Files.DetailTabView('test2'); detailsView.addTabView(testView); detailsView.addTabView(testView2); detailsView.render(); - - expect(detailsView.$el.find('.tabsContainer .detailTabView').length).toEqual(2); + }); + it('renders registered tabs', function() { + expect(detailsView.$el.find('.tab').length).toEqual(2); }); it('updates registered tabs when fileinfo is updated', function() { var tabRenderStub = sinon.stub(OCA.Files.DetailTabView.prototype, 'render'); - var testView = new OCA.Files.DetailTabView('test1'); - var testView2 = new OCA.Files.DetailTabView('test2'); - detailsView.addTabView(testView); - detailsView.addTabView(testView2); - detailsView.render(); - var fileInfo = {id: 5, name: 'test.txt'}; tabRenderStub.reset(); detailsView.setFileInfo(fileInfo); @@ -91,5 +88,18 @@ describe('OCA.Files.DetailsView tests', function() { expect(tabRenderStub.callCount).toEqual(2); tabRenderStub.restore(); }); + it('selects the first tab by default', function() { + expect(detailsView.$el.find('.tabHeader').eq(0).hasClass('selected')).toEqual(true); + expect(detailsView.$el.find('.tabHeader').eq(1).hasClass('selected')).toEqual(false); + expect(detailsView.$el.find('.tab').eq(0).hasClass('hidden')).toEqual(false); + expect(detailsView.$el.find('.tab').eq(1).hasClass('hidden')).toEqual(true); + }); + it('switches the current tab when clicking on tab header', function() { + detailsView.$el.find('.tabHeader').eq(1).click(); + expect(detailsView.$el.find('.tabHeader').eq(0).hasClass('selected')).toEqual(false); + expect(detailsView.$el.find('.tabHeader').eq(1).hasClass('selected')).toEqual(true); + expect(detailsView.$el.find('.tab').eq(0).hasClass('hidden')).toEqual(true); + expect(detailsView.$el.find('.tab').eq(1).hasClass('hidden')).toEqual(false); + }); }); }); diff --git a/core/css/apps.css b/core/css/apps.css index d3b9c0e7095..bbeb4444991 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -592,3 +592,51 @@ em { padding:16px; } +/* generic tab styles */ +.tabHeaders { + margin: 15px; + background-color: #1D2D44; +} + +.tabHeaders .tabHeader { + float: left; + border: 1px solid #ddd; + padding: 5px; + cursor: pointer; + background-color: #f8f8f8; + font-weight: bold; +} +.tabHeaders .tabHeader, .tabHeaders .tabHeader a { + color: #888; +} + +.tabHeaders .tabHeader:first-child { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.tabHeaders .tabHeader:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.tabHeaders .tabHeader.selected, +.tabHeaders .tabHeader:hover { + background-color: #e8e8e8; +} + +.tabHeaders .tabHeader.selected, +.tabHeaders .tabHeader.selected a, +.tabHeaders .tabHeader:hover, +.tabHeaders .tabHeader:hover a { + color: #000; +} + +.tabsContainer { + clear: left; +} + +.tabsContainer .tab { + padding: 15px; +} + -- cgit v1.2.3 From bdfab8108ee54c544dcf777f9cb7bf867ee6888c Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Thu, 6 Aug 2015 17:24:45 +0200 Subject: Fix sidebar mtime display unit test --- apps/files/tests/js/mainfileinfodetailviewSpec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'apps/files/tests/js') diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index 2dec4ea8a1a..3ea5ab66337 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -43,11 +43,11 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() { name: 'One.txt', path: '/subdir', size: 123456789, - dateLabel: new Date(Date.UTC(2015, 6, 17, 1, 2, 3, 4)) + mtime: Date.UTC(2015, 6, 17, 1, 2, 0, 0) }; }); it('displays basic info', function() { - var clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 0)); + var clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 3)); view.setFileInfo(testFileInfo); expect(view.$el.find('.fileName').text()).toEqual('One.txt'); expect(view.$el.find('.fileName').attr('title')).toEqual('One.txt'); -- cgit v1.2.3 From 9c402c761f1c8272f23f653609acb2e557f34b74 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 7 Aug 2015 01:22:39 +0200 Subject: fix timezone issue with unittest --- apps/files/tests/js/mainfileinfodetailviewSpec.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'apps/files/tests/js') diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index 3ea5ab66337..9f1de8752de 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -48,13 +48,14 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() { }); it('displays basic info', function() { var clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 3)); + var dateExpected = OC.Util.formatDate(Date(Date.UTC(2015, 6, 17, 1, 2, 0, 0))); view.setFileInfo(testFileInfo); expect(view.$el.find('.fileName').text()).toEqual('One.txt'); expect(view.$el.find('.fileName').attr('title')).toEqual('One.txt'); expect(view.$el.find('.size').text()).toEqual('117.7 MB'); expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes'); expect(view.$el.find('.date').text()).toEqual('a few seconds ago'); - expect(view.$el.find('.date').attr('title')).toEqual('July 17, 2015 3:02 AM'); + expect(view.$el.find('.date').attr('title')).toEqual(dateExpected); clock.restore(); }); it('displays favorite icon', function() { -- cgit v1.2.3 From 038d29b8def77ad906a722f72a1501b369f9c1ee Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Mon, 10 Aug 2015 11:23:39 +0200 Subject: Fix unit test for tipsy->tooltip change --- apps/files/tests/js/mainfileinfodetailviewSpec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'apps/files/tests/js') diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index 9f1de8752de..10ad38097c6 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -20,17 +20,17 @@ */ describe('OCA.Files.MainFileInfoDetailView tests', function() { - var view, tipsyStub, previewStub, fncLazyLoadPreview, fileListMock; + var view, tooltipStub, previewStub, fncLazyLoadPreview, fileListMock; beforeEach(function() { - tipsyStub = sinon.stub($.fn, 'tipsy'); + tooltipStub = sinon.stub($.fn, 'tooltip'); fileListMock = sinon.mock(OCA.Files.FileList.prototype); view = new OCA.Files.MainFileInfoDetailView(); }); afterEach(function() { view.destroy(); view = undefined; - tipsyStub.restore(); + tooltipStub.restore(); fileListMock.restore(); }); -- cgit v1.2.3