The description states that
If the third return value expresses an error state, the unit tests do not read the first two return values.
but this is not true. The “convert” function in the test code always tries to read the memory that the return values point to. I tried returning an offset of -1 and got the message
RangeError: Start offset -1 is outside the bounds of the buffer
at new Int32Array (<anonymous>)