@@ -60,12 +60,24 @@ describe('SafeERC20', function () {
60
60
. withArgs ( this . token ) ;
61
61
} ) ;
62
62
63
+ it ( 'returns false on trySafeTransfer' , async function ( ) {
64
+ await expect ( this . mock . $trySafeTransfer ( this . token , this . receiver , 0n ) )
65
+ . to . emit ( this . mock , 'return$trySafeTransfer' )
66
+ . withArgs ( false ) ;
67
+ } ) ;
68
+
63
69
it ( 'reverts on transferFrom' , async function ( ) {
64
70
await expect ( this . mock . $safeTransferFrom ( this . token , this . mock , this . receiver , 0n ) )
65
71
. to . be . revertedWithCustomError ( this . mock , 'SafeERC20FailedOperation' )
66
72
. withArgs ( this . token ) ;
67
73
} ) ;
68
74
75
+ it ( 'returns false on trySafeTransferFrom' , async function ( ) {
76
+ await expect ( this . mock . $trySafeTransferFrom ( this . token , this . mock , this . receiver , 0n ) )
77
+ . to . emit ( this . mock , 'return$trySafeTransferFrom' )
78
+ . withArgs ( false ) ;
79
+ } ) ;
80
+
69
81
it ( 'reverts on increaseAllowance' , async function ( ) {
70
82
// Call to 'token.allowance' does not return any data, resulting in a decoding error (revert without reason)
71
83
await expect ( this . mock . $safeIncreaseAllowance ( this . token , this . spender , 0n ) ) . to . be . revertedWithoutReason ( ) ;
@@ -94,12 +106,24 @@ describe('SafeERC20', function () {
94
106
. withArgs ( this . token ) ;
95
107
} ) ;
96
108
109
+ it ( 'returns false on trySafeTransfer' , async function ( ) {
110
+ await expect ( this . mock . $trySafeTransfer ( this . token , this . receiver , 0n ) )
111
+ . to . emit ( this . mock , 'return$trySafeTransfer' )
112
+ . withArgs ( false ) ;
113
+ } ) ;
114
+
97
115
it ( 'reverts on transferFrom' , async function ( ) {
98
116
await expect ( this . mock . $safeTransferFrom ( this . token , this . mock , this . receiver , 0n ) )
99
117
. to . be . revertedWithCustomError ( this . mock , 'SafeERC20FailedOperation' )
100
118
. withArgs ( this . token ) ;
101
119
} ) ;
102
120
121
+ it ( 'returns false on trySafeTransferFrom' , async function ( ) {
122
+ await expect ( this . mock . $trySafeTransferFrom ( this . token , this . mock , this . receiver , 0n ) )
123
+ . to . emit ( this . mock , 'return$trySafeTransferFrom' )
124
+ . withArgs ( false ) ;
125
+ } ) ;
126
+
103
127
it ( 'reverts on increaseAllowance' , async function ( ) {
104
128
await expect ( this . mock . $safeIncreaseAllowance ( this . token , this . spender , 0n ) )
105
129
. to . be . revertedWithCustomError ( this . mock , 'SafeERC20FailedOperation' )
@@ -357,11 +381,23 @@ function shouldOnlyRevertOnErrors() {
357
381
. withArgs ( this . mock , this . receiver , 10n ) ;
358
382
} ) ;
359
383
384
+ it ( 'returns true on trySafeTransfer' , async function ( ) {
385
+ await expect ( this . mock . $trySafeTransfer ( this . token , this . receiver , 10n ) )
386
+ . to . emit ( this . mock , 'return$trySafeTransfer' )
387
+ . withArgs ( true ) ;
388
+ } ) ;
389
+
360
390
it ( "doesn't revert on transferFrom" , async function ( ) {
361
391
await expect ( this . mock . $safeTransferFrom ( this . token , this . owner , this . receiver , 10n ) )
362
392
. to . emit ( this . token , 'Transfer' )
363
393
. withArgs ( this . owner , this . receiver , 10n ) ;
364
394
} ) ;
395
+
396
+ it ( 'returns true on trySafeTransferFrom' , async function ( ) {
397
+ await expect ( this . mock . $trySafeTransferFrom ( this . token , this . owner , this . receiver , 10n ) )
398
+ . to . emit ( this . mock , 'return$trySafeTransferFrom' )
399
+ . withArgs ( true ) ;
400
+ } ) ;
365
401
} ) ;
366
402
367
403
describe ( 'approvals' , function ( ) {
0 commit comments