Browse Source

sanitize chunked-array chunkSize

Alexander Rose 6 years ago
parent
commit
7804176bfb
2 changed files with 12 additions and 1 deletions
  1. 11 0
      src/mol-data/util/_spec/chunked-array.spec.ts
  2. 1 1
      src/mol-data/util/chunked-array.ts

+ 11 - 0
src/mol-data/util/_spec/chunked-array.spec.ts

@@ -37,4 +37,15 @@ describe('Chunked Array', () => {
         ChunkedArray.add2(arr, 9, 10);
         expect(ChunkedArray.compact(arr)).toEqual(new Int32Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
     });
+
+    it('resize-fraction', () => {
+        const arr  = ChunkedArray.create<number, 2>(Int32Array, 2, 2.5);
+        ChunkedArray.add2(arr, 1, 2);
+        ChunkedArray.add2(arr, 3, 4);
+        ChunkedArray.add2(arr, 5, 6);
+        ChunkedArray.add2(arr, 7, 8);
+        ChunkedArray.add2(arr, 9, 10);
+        expect(arr.elementCount).toBe(5)
+        expect(ChunkedArray.compact(arr)).toEqual(new Int32Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
+    });
 });

+ 1 - 1
src/mol-data/util/chunked-array.ts

@@ -144,7 +144,7 @@ namespace ChunkedArray {
             ctor,
             elementSize,
 
-            growBy: chunkSize,
+            growBy: Math.floor(chunkSize),
             allocatedSize: 0,
             elementCount: 0,