]> git.kaiwu.me - njs.git/commitdiff
Fixed for-in iteration of typed array values.
authorArtem S. Povalyukhin <artem.povaluhin@gmail.com>
Thu, 25 Feb 2021 07:06:18 +0000 (10:06 +0300)
committerArtem S. Povalyukhin <artem.povaluhin@gmail.com>
Thu, 25 Feb 2021 07:06:18 +0000 (10:06 +0300)
src/njs_object.c
src/test/njs_unit_test.c

index b9fadddc1283d48cf02c29950757366b05dccbee..c7a65994a56e66ced68c0ece1cab40ba81bcf75d 100644 (file)
@@ -444,6 +444,12 @@ njs_object_enumerate_value(njs_vm_t *vm, const njs_object_t *object,
                                              kind);
             break;
 
+        case NJS_TYPED_ARRAY:
+            ret = njs_object_enumerate_typed_array(vm,
+                                                  (njs_typed_array_t *) object,
+                                                  items, kind);
+            break;
+
         case NJS_OBJECT_STRING:
             obj_val = (njs_object_value_t *) object;
 
index 722f70736ac0e5ee019d1e8124da7fadcd928ce2..ccc1de19a1f77302b0f7402523f1a801cd60094e 100644 (file)
@@ -2834,6 +2834,9 @@ static njs_unit_test_t  njs_test[] =
                  "for (var a in o) {arr.push(a)}; arr"),
       njs_str("b") },
 
+    { njs_str("var a = []; for (var k in new Uint8Array([1,2,3])) { a.push(k); }; a"),
+      njs_str("0,1,2") },
+
     /* switch. */
 
     { njs_str("switch"),