Add more writeLength tests
This commit is contained in:
parent
cb8cf1f107
commit
3935e661fe
@ -325,4 +325,18 @@ contract TestLibBytes {
|
|||||||
b.writeLength(length);
|
b.writeLength(length);
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function assertBytesUnchangedAfterLengthReset(
|
||||||
|
bytes memory b,
|
||||||
|
uint256 tempLength
|
||||||
|
)
|
||||||
|
public
|
||||||
|
pure
|
||||||
|
{
|
||||||
|
uint256 length = b.length;
|
||||||
|
bytes memory bCopy = b.slice(0, length);
|
||||||
|
b.writeLength(tempLength);
|
||||||
|
b.writeLength(length);
|
||||||
|
assert(b.equals(bCopy));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1131,6 +1131,20 @@ describe('LibBytes', () => {
|
|||||||
);
|
);
|
||||||
expect(result).to.eq(`${byteArrayLongerThan32Bytes}${byteArrayLongerThan32Bytes.slice(2)}`);
|
expect(result).to.eq(`${byteArrayLongerThan32Bytes}${byteArrayLongerThan32Bytes.slice(2)}`);
|
||||||
});
|
});
|
||||||
|
it('should result in the same byte array if length is reduced and reset', async () => {
|
||||||
|
const byteLen = (byteArrayLongerThan32Bytes.length - 2) / 2;
|
||||||
|
const tempByteLen = new BigNumber(byteLen).dividedToIntegerBy(2);
|
||||||
|
return expect(
|
||||||
|
libBytes.assertBytesUnchangedAfterLengthReset.callAsync(byteArrayLongerThan32Bytes, tempByteLen),
|
||||||
|
).to.be.fulfilled('');
|
||||||
|
});
|
||||||
|
it('should result in the same byte array if length is increased and reset', async () => {
|
||||||
|
const byteLen = (byteArrayLongerThan32Bytes.length - 2) / 2;
|
||||||
|
const tempByteLen = new BigNumber(byteLen).multipliedBy(2);
|
||||||
|
return expect(
|
||||||
|
libBytes.assertBytesUnchangedAfterLengthReset.callAsync(byteArrayLongerThan32Bytes, tempByteLen),
|
||||||
|
).to.be.fulfilled('');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// tslint:disable:max-file-line-count
|
// tslint:disable:max-file-line-count
|
||||||
|
Loading…
x
Reference in New Issue
Block a user