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'); + }); }); });