diff options
Diffstat (limited to 'core/js')
-rw-r--r-- | core/js/sharedialoglinkshareview.js | 5 | ||||
-rw-r--r-- | core/js/tests/specs/sharedialogviewSpec.js | 23 |
2 files changed, 26 insertions, 2 deletions
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index beb8b01c8a8..74afbc9fe02 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -151,8 +151,9 @@ }, onLinkTextClick: function() { - this.focus(); - this.select(); + var $el = this.$el.find('.linkText'); + $el.focus(); + $el.select(); }, onShowPasswordClick: function() { diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index 1c05bf21968..a557ff6f03b 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -237,6 +237,29 @@ describe('OC.Share.ShareDialogView', function() { expect(dialog.$el.find('.linkCheckbox').prop('checked')).toEqual(true); expect(dialog.$el.find('.linkText').val()).toEqual(link); }); + it('autofocus link text when clicked', function() { + $('#allowShareWithLink').val('yes'); + + dialog.render(); + + // Toggle linkshare + dialog.$el.find('.linkCheckbox').click(); + fakeServer.requests[0].respond( + 200, + { 'Content-Type': 'application/json' }, + JSON.stringify({data: {token: 'xyz'}, status: 'success'}) + ); + + var focusStub = sinon.stub($.fn, 'focus'); + var selectStub = sinon.stub($.fn, 'select'); + dialog.$el.find('.linkText').click(); + + expect(focusStub.calledOnce).toEqual(true); + expect(selectStub.calledOnce).toEqual(true); + + focusStub.restore(); + selectStub.restore(); + }); describe('password', function() { var slideToggleStub; |