@@ -691,7 +691,6 @@ exports.expectsError = function expectsError(fn, settings, exact) {
691
691
fn = undefined ;
692
692
}
693
693
function innerFn ( error ) {
694
- assert . strictEqual ( error . code , settings . code ) ;
695
694
if ( 'type' in settings ) {
696
695
const type = settings . type ;
697
696
if ( type !== Error && ! Error . isPrototypeOf ( type ) ) {
@@ -714,18 +713,16 @@ exports.expectsError = function expectsError(fn, settings, exact) {
714
713
`${ error . message } does not match ${ message } ` ) ;
715
714
}
716
715
}
717
- if ( 'name' in settings ) {
718
- assert . strictEqual ( error . name , settings . name ) ;
719
- }
720
- if ( error . constructor . name === 'AssertionError' ) {
721
- [ 'generatedMessage' , 'actual' , 'expected' , 'operator' ] . forEach ( ( key ) => {
722
- if ( key in settings ) {
723
- const actual = error [ key ] ;
724
- const expected = settings [ key ] ;
725
- assert . strictEqual ( actual , expected ,
726
- `${ key } : expected ${ expected } , not ${ actual } ` ) ;
727
- }
728
- } ) ;
716
+
717
+ // Check all error properties.
718
+ const keys = Object . keys ( settings ) ;
719
+ for ( const key of keys ) {
720
+ if ( key === 'message' || key === 'type' )
721
+ continue ;
722
+ const actual = error [ key ] ;
723
+ const expected = settings [ key ] ;
724
+ assert . strictEqual ( actual , expected ,
725
+ `${ key } : expected ${ expected } , not ${ actual } ` ) ;
729
726
}
730
727
return true ;
731
728
}
0 commit comments