@@ -24,8 +24,17 @@ var LoaderUtils = {
}
- // Merges multi-byte utf-8 characters.
- return decodeURIComponent( escape( s ) );
+ try {
+
+ // merges multi-byte utf-8 characters.
+ return decodeURIComponent( escape( s ) );
+ } catch ( e ) { // see #16358
+ return s;
+ }
},
@@ -18,6 +18,9 @@ export default QUnit.module( 'Loaders', () => {
var multibyteArray = new Uint8Array( [ 230, 151, 165, 230, 156, 172, 229, 155, 189 ] );
assert.equal( '日本国', LoaderUtils.decodeText( multibyteArray ) );
+ var uriError = new Uint8Array( [ 219 ] );
+ assert.equal( 'Û', LoaderUtils.decodeText( uriError ) );
} );
QUnit.test( 'extractUrlBase', ( assert ) => {