diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c index edc8350e333..6ff88eefc12 100644 --- a/dlls/jscript/global.c +++ b/dlls/jscript/global.c @@ -899,8 +899,7 @@ static HRESULT JSGlobal_encodeURIComponent(script_ctx_t *ctx, vdisp_t *jsthis, W size = WideCharToMultiByte(CP_UTF8, 0, ptr, 1, NULL, 0, NULL, NULL); if(!size) { SysFreeString(str); - FIXME("throw Error\n"); - return E_FAIL; + return throw_uri_error(ctx, ei, JS_E_INVALID_URI_CHAR, NULL); } len += size*3; } diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js index 09c3360e51d..2416ea0f907 100644 --- a/dlls/jscript/tests/api.js +++ b/dlls/jscript/tests/api.js @@ -2053,6 +2053,7 @@ testException(function() {RegExp(/a/, "g");}, "E_REGEXP_SYNTAX_ERROR"); // URIError tests testException(function() {encodeURI('\udcaa');}, "E_URI_INVALID_CHAR"); +testException(function() {encodeURIComponent('\udcaa');}, "E_URI_INVALID_CHAR"); function testThisExcept(func, e) { testException(function() {func.call(new Object())}, e);