MCPcopy Index your code
hub / github.com/nodejs/node / SomeGrowMidIteration

Function SomeGrowMidIteration

deps/v8/test/mjsunit/typedarray-resizablearraybuffer.js:3060–3133  ·  view source on GitHub ↗
(someHelper)

Source from the content-addressed store, hash-verified

3058SomeShrinkMidIteration(ArraySomeHelper, false);
3059
3060function SomeGrowMidIteration(someHelper) {
3061 // Orig. array: [0, 2, 4, 6]
3062 // [0, 2, 4, 6] << fixedLength
3063 // [4, 6] << fixedLengthWithOffset
3064 // [0, 2, 4, 6, ...] << lengthTracking
3065 // [4, 6, ...] << lengthTrackingWithOffset
3066 function CreateRabForTest(ctor) {
3067 const rab = CreateResizableArrayBuffer(4 * ctor.BYTES_PER_ELEMENT,
3068 8 * ctor.BYTES_PER_ELEMENT);
3069 // Write some data into the array.
3070 const taWrite = new ctor(rab);
3071 for (let i = 0; i < 4; ++i) {
3072 WriteToTypedArray(taWrite, i, 2 * i);
3073 }
3074 return rab;
3075 }
3076
3077 let values = [];
3078 let rab;
3079 let resizeAfter;
3080 let resizeTo;
3081 function CollectValuesAndResize(n) {
3082 if (typeof n == 'bigint') {
3083 values.push(Number(n));
3084 } else {
3085 values.push(n);
3086 }
3087 if (values.length == resizeAfter) {
3088 rab.resize(resizeTo);
3089 }
3090 return false;
3091 }
3092
3093 for (let ctor of ctors) {
3094 rab = CreateRabForTest(ctor);
3095 const fixedLength = new ctor(rab, 0, 4);
3096 values = [];
3097 resizeAfter = 2;
3098 resizeTo = 5 * ctor.BYTES_PER_ELEMENT;
3099 assertFalse(someHelper(fixedLength, CollectValuesAndResize));
3100 assertEquals([0, 2, 4, 6], values);
3101 }
3102
3103 for (let ctor of ctors) {
3104 rab = CreateRabForTest(ctor);
3105 const fixedLengthWithOffset = new ctor(rab, 2 * ctor.BYTES_PER_ELEMENT, 2);
3106 values = [];
3107 resizeAfter = 1;
3108 resizeTo = 5 * ctor.BYTES_PER_ELEMENT;
3109 assertFalse(someHelper(fixedLengthWithOffset, CollectValuesAndResize));
3110 assertEquals([4, 6], values);
3111 }
3112
3113 for (let ctor of ctors) {
3114 rab = CreateRabForTest(ctor);
3115 const lengthTracking = new ctor(rab, 0);
3116 values = [];
3117 resizeAfter = 2;

Calls 3

CreateRabForTestFunction · 0.70
assertFalseFunction · 0.50
assertEqualsFunction · 0.50

Tested by

no test coverage detected