mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 18:04:51 +00:00
jscript: Fix Array.reduce when last element doesn't exist.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
This commit is contained in:
parent
40b36d4208
commit
ed674d63a4
|
@ -1422,8 +1422,10 @@ static HRESULT Array_reduce(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsign
|
||||||
|
|
||||||
for(k = 0; k < length; k++) {
|
for(k = 0; k < length; k++) {
|
||||||
hres = jsdisp_get_idx(jsthis, k, &callback_args[1]);
|
hres = jsdisp_get_idx(jsthis, k, &callback_args[1]);
|
||||||
if(hres == DISP_E_UNKNOWNNAME)
|
if(hres == DISP_E_UNKNOWNNAME) {
|
||||||
|
hres = S_OK;
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -1336,6 +1336,9 @@ sync_test("reduce", function() {
|
||||||
r = [1,2,3].reduce(function(a, value) { return a + value; }, "str");
|
r = [1,2,3].reduce(function(a, value) { return a + value; }, "str");
|
||||||
ok(r === "str123", "reduce() returned " + r);
|
ok(r === "str123", "reduce() returned " + r);
|
||||||
|
|
||||||
|
r = [1,2,].reduce(function(a, value) { return a + value; }, "str");
|
||||||
|
ok(r === "str12", "reduce() returned " + r);
|
||||||
|
|
||||||
array = [1,2,3];
|
array = [1,2,3];
|
||||||
r = array.reduce(function(a, value, index, src) {
|
r = array.reduce(function(a, value, index, src) {
|
||||||
ok(src === array, "src != array");
|
ok(src === array, "src != array");
|
||||||
|
|
Loading…
Reference in a new issue