summaryrefslogtreecommitdiffstats
path: root/core/js
diff options
context:
space:
mode:
Diffstat (limited to 'core/js')
-rw-r--r--core/js/sharedialoglinkshareview.js5
-rw-r--r--core/js/tests/specs/sharedialogviewSpec.js23
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;