From 4a6203325002deb887350acba55d8adff6b63b3e Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Thu, 26 Apr 2018 19:58:26 +0300 Subject: [PATCH] Fixed the writeable flag of Array.length property. This fixes #6 issue on GitHub. --- njs/njs_array.c | 1 + njs/test/njs_unit_test.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/njs/njs_array.c b/njs/njs_array.c index 4d331073..4532e8ba 100644 --- a/njs/njs_array.c +++ b/njs/njs_array.c @@ -2097,6 +2097,7 @@ static const njs_object_prop_t njs_array_prototype_properties[] = .type = NJS_PROPERTY_HANDLER, .name = njs_string("length"), .value = njs_prop_handler(njs_array_prototype_length), + .writable = 1 }, { diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index c3ea832e..2ffa51a9 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -6599,6 +6599,9 @@ static njs_unit_test_t njs_test[] = { nxt_string("Object.getOwnPropertyDescriptor([], 'length').value"), nxt_string("0") }, + { nxt_string("JSON.stringify(Object.getOwnPropertyDescriptor([3,4], 'length'))"), + nxt_string("{\"value\":2,\"configurable\":false,\"enumerable\":false,\"writable\":true}") }, + { nxt_string("Object.getOwnPropertyDescriptor([3,4], '3')"), nxt_string("undefined") }, -- 2.47.3