3
3
4
4
import 'mocha' ;
5
5
import { expect } from 'chai' ;
6
- import { ensureErrorType } from '../src/errors' ;
6
+ import { ensureErrorType , trySetErrorMessage } from '../src/errors' ;
7
7
8
8
describe ( 'ensureErrorType' , ( ) => {
9
9
it ( 'null' , ( ) => {
@@ -42,6 +42,13 @@ describe('ensureErrorType', () => {
42
42
expect ( ensureErrorType ( actualError ) ) . to . equal ( actualError ) ;
43
43
} ) ;
44
44
45
+ it ( 'modify error message' , ( ) => {
46
+ const actualError = new Error ( 'test2' ) ;
47
+ trySetErrorMessage ( actualError , 'modified message' ) ;
48
+
49
+ expect ( actualError . message ) . to . equal ( 'modified message' ) ;
50
+ } ) ;
51
+
45
52
it ( 'readonly error' , ( ) => {
46
53
class ReadOnlyError extends Error {
47
54
get message ( ) : string {
@@ -55,10 +62,11 @@ describe('ensureErrorType', () => {
55
62
expect ( ( ) => ( actualError . message = 'exception' ) ) . to . throw ( ) ;
56
63
57
64
const wrappedError = ensureErrorType ( actualError ) ;
58
- wrappedError . message = 'Readonly error has been modified' ;
65
+ const message = 'Readonly error has not been modified' ;
66
+ trySetErrorMessage ( wrappedError , message ) ;
59
67
60
- expect ( wrappedError . message ) . to . equal ( 'Readonly error has been modified ' ) ;
61
- expect ( wrappedError . stack ) . to . contain ( 'Readonly error has been modified' ) ;
68
+ expect ( wrappedError . message ) . to . equal ( 'a readonly message ' ) ;
69
+ expect ( wrappedError . stack ) . to . not . contain ( 'Readonly error has been modified' ) ;
62
70
} ) ;
63
71
64
72
function validateError ( actual : Error , expectedMessage : string ) : void {
0 commit comments