Add keys() accessor to EnumerableMaps (#3920)
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
This commit is contained in:
@ -36,6 +36,13 @@ function shouldBehaveLikeMap (
|
||||
}))).to.have.same.deep.members(
|
||||
zip(keys.map(k => k.toString()), values.map(v => v.toString())),
|
||||
);
|
||||
|
||||
// This also checks that both arrays have the same length
|
||||
expect(
|
||||
(await methods.keys(map)).map(k => k.toString()),
|
||||
).to.have.same.members(
|
||||
keys.map(key => key.toString()),
|
||||
);
|
||||
}
|
||||
|
||||
it('starts empty', async function () {
|
||||
|
||||
@ -39,6 +39,7 @@ contract('EnumerableMap', function (accounts) {
|
||||
length: '$length_EnumerableMap_AddressToUintMap(uint256)',
|
||||
at: '$at_EnumerableMap_AddressToUintMap(uint256,uint256)',
|
||||
contains: '$contains(uint256,address)',
|
||||
keys: '$keys_EnumerableMap_AddressToUintMap(uint256)',
|
||||
}),
|
||||
{
|
||||
setReturn: 'return$set_EnumerableMap_AddressToUintMap_address_uint256',
|
||||
@ -62,6 +63,7 @@ contract('EnumerableMap', function (accounts) {
|
||||
length: '$length_EnumerableMap_UintToAddressMap(uint256)',
|
||||
at: '$at_EnumerableMap_UintToAddressMap(uint256,uint256)',
|
||||
contains: '$contains_EnumerableMap_UintToAddressMap(uint256,uint256)',
|
||||
keys: '$keys_EnumerableMap_UintToAddressMap(uint256)',
|
||||
}),
|
||||
{
|
||||
setReturn: 'return$set_EnumerableMap_UintToAddressMap_uint256_address',
|
||||
@ -85,6 +87,7 @@ contract('EnumerableMap', function (accounts) {
|
||||
length: '$length_EnumerableMap_Bytes32ToBytes32Map(uint256)',
|
||||
at: '$at_EnumerableMap_Bytes32ToBytes32Map(uint256,uint256)',
|
||||
contains: '$contains_EnumerableMap_Bytes32ToBytes32Map(uint256,bytes32)',
|
||||
keys: '$keys_EnumerableMap_Bytes32ToBytes32Map(uint256)',
|
||||
}),
|
||||
{
|
||||
setReturn: 'return$set_EnumerableMap_Bytes32ToBytes32Map_bytes32_bytes32',
|
||||
@ -108,6 +111,7 @@ contract('EnumerableMap', function (accounts) {
|
||||
length: '$length_EnumerableMap_UintToUintMap(uint256)',
|
||||
at: '$at_EnumerableMap_UintToUintMap(uint256,uint256)',
|
||||
contains: '$contains_EnumerableMap_UintToUintMap(uint256,uint256)',
|
||||
keys: '$keys_EnumerableMap_UintToUintMap(uint256)',
|
||||
}),
|
||||
{
|
||||
setReturn: 'return$set_EnumerableMap_UintToUintMap_uint256_uint256',
|
||||
@ -131,6 +135,7 @@ contract('EnumerableMap', function (accounts) {
|
||||
length: '$length_EnumerableMap_Bytes32ToUintMap(uint256)',
|
||||
at: '$at_EnumerableMap_Bytes32ToUintMap(uint256,uint256)',
|
||||
contains: '$contains_EnumerableMap_Bytes32ToUintMap(uint256,bytes32)',
|
||||
keys: '$keys_EnumerableMap_Bytes32ToUintMap(uint256)',
|
||||
}),
|
||||
{
|
||||
setReturn: 'return$set_EnumerableMap_Bytes32ToUintMap_bytes32_uint256',
|
||||
|
||||
Reference in New Issue
Block a user