From 1a2bdb4366ab819a43e2df48124073c836564e37 Mon Sep 17 00:00:00 2001 From: Denys Mishunov Date: Mon, 18 Mar 2019 12:22:51 +0100 Subject: [PATCH] Implemented trimming for item's name in Web IDE Resolves https://gitlab.com/gitlab-org/gitlab-ce/issues/57540 --- .../ide/components/new_dropdown/modal.vue | 2 +- .../unreleased/57540-filename-trailing-space.yml | 5 +++++ .../ide/components/new_dropdown/modal_spec.js | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/57540-filename-trailing-space.yml diff --git a/app/assets/javascripts/ide/components/new_dropdown/modal.vue b/app/assets/javascripts/ide/components/new_dropdown/modal.vue index ba6bbdfef4b..412b07553dc 100644 --- a/app/assets/javascripts/ide/components/new_dropdown/modal.vue +++ b/app/assets/javascripts/ide/components/new_dropdown/modal.vue @@ -29,7 +29,7 @@ export default { return this.name || (entryPath ? `${entryPath}/` : ''); }, set(val) { - this.name = val; + this.name = val.trim(); }, }, modalTitle() { diff --git a/changelogs/unreleased/57540-filename-trailing-space.yml b/changelogs/unreleased/57540-filename-trailing-space.yml new file mode 100644 index 00000000000..db85fb350db --- /dev/null +++ b/changelogs/unreleased/57540-filename-trailing-space.yml @@ -0,0 +1,5 @@ +--- +title: Implemented whitespace-trimming for file names in Web IDE +merge_request: 26270 +author: +type: fixed diff --git a/spec/javascripts/ide/components/new_dropdown/modal_spec.js b/spec/javascripts/ide/components/new_dropdown/modal_spec.js index d1a0964ccdd..0556feae46a 100644 --- a/spec/javascripts/ide/components/new_dropdown/modal_spec.js +++ b/spec/javascripts/ide/components/new_dropdown/modal_spec.js @@ -109,6 +109,18 @@ describe('new file modal component', () => { expect(vm.entryName).toBe('index.js'); }); + + it('removes leading/trailing spaces when found in the new name', () => { + vm.entryName = ' index.js '; + + expect(vm.entryName).toBe('index.js'); + }); + + it('does not remove internal spaces in the file name', () => { + vm.entryName = ' In Praise of Idleness.txt '; + + expect(vm.entryName).toBe('In Praise of Idleness.txt'); + }); }); });