diff options
author | Remco Bloemen <remco@wicked.ventures> | 2018-06-14 00:12:45 +0800 |
---|---|---|
committer | Remco Bloemen <remco@wicked.ventures> | 2018-06-23 19:53:38 +0800 |
commit | 384cd2f6059bba994a6af2992a7df4909e24897c (patch) | |
tree | fa4f1ca39a91457b290e3c3c748a7cb3e724b10b | |
parent | 425af46f98c83e2796aaf0b946d250193393754c (diff) | |
download | dexon-sol-tools-384cd2f6059bba994a6af2992a7df4909e24897c.tar.gz dexon-sol-tools-384cd2f6059bba994a6af2992a7df4909e24897c.tar.zst dexon-sol-tools-384cd2f6059bba994a6af2992a7df4909e24897c.zip |
Add trailing garbage testcase for LibBytes.equals
-rw-r--r-- | packages/contracts/src/contracts/current/test/TestLibBytes/TestLibBytes.sol | 11 | ||||
-rw-r--r-- | packages/contracts/test/libraries/lib_bytes.ts | 10 |
2 files changed, 21 insertions, 0 deletions
diff --git a/packages/contracts/src/contracts/current/test/TestLibBytes/TestLibBytes.sol b/packages/contracts/src/contracts/current/test/TestLibBytes/TestLibBytes.sol index 60ee3db7f..d14022a64 100644 --- a/packages/contracts/src/contracts/current/test/TestLibBytes/TestLibBytes.sol +++ b/packages/contracts/src/contracts/current/test/TestLibBytes/TestLibBytes.sol @@ -61,6 +61,17 @@ contract TestLibBytes { equal = lhs.equals(rhs); return equal; } + + function publicEqualsPop1(bytes memory lhs, bytes memory rhs) + public + pure + returns (bool equal) + { + lhs.popByte(); + rhs.popByte(); + equal = lhs.equals(rhs); + return equal; + } /// @dev Performs a deep copy of a byte array onto another byte array of greater than or equal length. /// @param dest Byte array that will be overwritten with source bytes. diff --git a/packages/contracts/test/libraries/lib_bytes.ts b/packages/contracts/test/libraries/lib_bytes.ts index 0c8431a6a..5edb5835a 100644 --- a/packages/contracts/test/libraries/lib_bytes.ts +++ b/packages/contracts/test/libraries/lib_bytes.ts @@ -172,6 +172,16 @@ describe('LibBytes', () => { ); return expect(equals).to.be.false(); }); + + describe('should ignore trailing data', () => { + it('should return true when both < 32 bytes', async () => { + const equals = await libBytes.publicEqualsPop1.callAsync( + '0x0102', + '0x0103', + ); + return expect(equals).to.be.true(); + }); + }); }); describe('deepCopyBytes', () => { |