diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html index 8667c343f3..7b57564ee4 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html +++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html @@ -14,7 +14,7 @@ (keyup.enter)="fileClicked(file)" role="button" tabindex="0"/> - {{decode(file.name)}} + {{file.name}} diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts index da961239d8..c8caec1963 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts @@ -233,6 +233,104 @@ describe('UploadWidgetComponent', () => { }); })); + it('should show correctly the file name when is formed with special characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = '±!@#$%^&*()_+{}:”|<>?§™£-=[];’\\,./.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe(`±!@#$%^&*()_+{}:”|<>?§™£-=[];’\\,./.jpg`); + }); + })); + + it('should show correctly the file name when is formed with Arabic characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = 'غ ظ ض ذ خ ث ت ش ر ق ص ف ع س ن م ل ك ي ط ح ز و ه د ج ب ا.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe('غ ظ ض ذ خ ث ت ش ر ق ص ف ع س ن م ل ك ي ط ح ز و ه د ج ب ا.jpg'); + }); + })); + + it('should show correctly the file name when is formed with French characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = 'Àâæçéèêëïîôœùûüÿ.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe('Àâæçéèêëïîôœùûüÿ.jpg'); + }); + })); + + it('should show correctly the file name when is formed with Greek characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = 'άέήίϊϊΐόύϋΰώθωερτψυιοπασδφγηςκλζχξωβνμ.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe('άέήίϊϊΐόύϋΰώθωερτψυιοπασδφγηςκλζχξωβνμ.jpg'); + }); + })); + + it('should show correctly the file name when is formed with Polish accented characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = 'Ą Ć Ę Ł Ń Ó Ś Ź Żą ć ę ł ń ó ś ź ż.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe('Ą Ć Ę Ł Ń Ó Ś Ź Żą ć ę ł ń ó ś ź ż.jpg'); + }); + })); + + it('should show correctly the file name when is formed with Spanish accented characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = 'á, é, í, ó, ú, ñ, Ñ, ü, Ü, ¿, ¡. Á, É, Í, Ó, Ú.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe('á, é, í, ó, ú, ñ, Ñ, ü, Ü, ¿, ¡. Á, É, Í, Ó, Ú.jpg'); + }); + })); + + it('should show correctly the file name when is formed with Swedish characters', async(() => { + uploadWidgetComponent.field.value = []; + fakeJpgAnswer.name = 'Äåéö.jpg'; + uploadWidgetComponent.field.value.push(fakeJpgAnswer); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + let jpegElement = element.querySelector('#file-1156'); + expect(jpegElement).not.toBeNull(); + expect(jpegElement.textContent).toBe('Äåéö.jpg'); + }); + })); + it('should remove file from field value', async(() => { uploadWidgetComponent.field.params.multiple = true; uploadWidgetComponent.field.value = []; diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts index ee696cdba6..a98ab37da4 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts @@ -96,10 +96,6 @@ export class UploadWidgetComponent extends WidgetComponent implements OnInit { } } - decode(fileName: string): string { - return decodeURI(fileName); - } - private removeElementFromList(list, element) { let index = list.indexOf(element); if (index !== -1) {