From 0692ad99c5072b2834d6c243abd1990bc206631d Mon Sep 17 00:00:00 2001 From: Jeremy Press Date: Mon, 12 Nov 2018 16:13:37 -0800 Subject: [PATCH 1/2] Fix: Better error message for file of unknown type --- src/i18n/en-US.properties | 2 ++ src/lib/Preview.js | 16 ++++++++++++---- src/lib/__tests__/Preview-test.js | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/i18n/en-US.properties b/src/i18n/en-US.properties index dc123301c..cad9b8b19 100644 --- a/src/i18n/en-US.properties +++ b/src/i18n/en-US.properties @@ -40,6 +40,8 @@ text_truncated=This file has been truncated due to size limits. Please download error_generic=We're sorry, the preview didn't load. # Default preview error message error_unsupported=We're sorry, the preview didn't load. {1} files are not currently supported. +# Preview error message for an unknown file type. +error_unsupported_unknown_type=We're sorry, the preview didn't load. This file is not currently supported. # Account doesn't have a sufficient tariff to preview the requested file type error_account=We're sorry, your account is unable to preview this file type. # No permissions preview error message diff --git a/src/lib/Preview.js b/src/lib/Preview.js index 7f27403f2..3478c647b 100644 --- a/src/lib/Preview.js +++ b/src/lib/Preview.js @@ -1116,10 +1116,18 @@ class Preview extends EventEmitter { return viewer.EXT.indexOf(this.file.extension) > -1; }); - const code = isFileTypeSupported ? ERROR_CODE.ACCOUNT : ERROR_CODE.UNSUPPORTED_FILE_TYPE; - const message = isFileTypeSupported - ? __('error_account') - : replacePlaceholders(__('error_unsupported'), [(this.file.extension || '').toUpperCase()]); + let code; + let message; + // If the file type is supported, then the default error is account related + if (isFileTypeSupported) { + code = ERROR_CODE.ACCOUNT; + message = __('error_account'); + } else { + code = ERROR_CODE.UNSUPPORTED_FILE_TYPE; + message = this.file.extension + ? replacePlaceholders(__('error_unsupported'), [this.file.extension]) + : __('error_unsupported_unknown_type'); + } throw new PreviewError(code, message); } diff --git a/src/lib/__tests__/Preview-test.js b/src/lib/__tests__/Preview-test.js index 0bf55433c..059654159 100644 --- a/src/lib/__tests__/Preview-test.js +++ b/src/lib/__tests__/Preview-test.js @@ -1623,7 +1623,7 @@ describe('lib/Preview', () => { try { preview.loadViewer(); } catch (e) { - expect(e.message).to.equal(util.replacePlaceholders(__('error_unsupported'), ['ZIP'])); + expect(e.message).to.equal(util.replacePlaceholders(__('error_unsupported'), ['zip'])); } }); From 8c7ba9afe76fd9244d4aa02fa6017f6eec07ba63 Mon Sep 17 00:00:00 2001 From: Jeremy Press Date: Mon, 12 Nov 2018 16:34:04 -0800 Subject: [PATCH 2/2] Chore: Responding to comments --- src/i18n/en-US.properties | 4 +--- src/lib/Preview.js | 5 +---- src/lib/__tests__/Preview-test.js | 3 +-- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/i18n/en-US.properties b/src/i18n/en-US.properties index cad9b8b19..43c7a421d 100644 --- a/src/i18n/en-US.properties +++ b/src/i18n/en-US.properties @@ -39,9 +39,7 @@ text_truncated=This file has been truncated due to size limits. Please download # Default preview error message error_generic=We're sorry, the preview didn't load. # Default preview error message -error_unsupported=We're sorry, the preview didn't load. {1} files are not currently supported. -# Preview error message for an unknown file type. -error_unsupported_unknown_type=We're sorry, the preview didn't load. This file is not currently supported. +error_unsupported=We're sorry, this file type is not currently supported. # Account doesn't have a sufficient tariff to preview the requested file type error_account=We're sorry, your account is unable to preview this file type. # No permissions preview error message diff --git a/src/lib/Preview.js b/src/lib/Preview.js index 3478c647b..6cf8bcceb 100644 --- a/src/lib/Preview.js +++ b/src/lib/Preview.js @@ -22,7 +22,6 @@ import { getHeaders, findScriptLocation, appendQueryParams, - replacePlaceholders, stripAuthFromString, isValidFileId, isBoxWebApp, @@ -1124,9 +1123,7 @@ class Preview extends EventEmitter { message = __('error_account'); } else { code = ERROR_CODE.UNSUPPORTED_FILE_TYPE; - message = this.file.extension - ? replacePlaceholders(__('error_unsupported'), [this.file.extension]) - : __('error_unsupported_unknown_type'); + message = __('error_unsupported'); } throw new PreviewError(code, message); diff --git a/src/lib/__tests__/Preview-test.js b/src/lib/__tests__/Preview-test.js index 059654159..995d603b8 100644 --- a/src/lib/__tests__/Preview-test.js +++ b/src/lib/__tests__/Preview-test.js @@ -1617,13 +1617,12 @@ describe('lib/Preview', () => { }); it('should throw an unsupported error if there is no loader for general file types', () => { - preview.file.extension = 'zip'; stubs.getLoader.returns(undefined); try { preview.loadViewer(); } catch (e) { - expect(e.message).to.equal(util.replacePlaceholders(__('error_unsupported'), ['zip'])); + expect(e.message).to.equal(__('error_unsupported')); } });