@@ -130,3 +130,47 @@ module.exports['Replace header at relative key index'] = test => {
130130 test . equal ( headers . build ( ) . toString ( ) , generatedHeaderStr ) ;
131131 test . done ( ) ;
132132} ;
133+
134+ module . exports [ 'Preserve SMTPUTF8 mailbox local part' ] = test => {
135+ let value = 'öäöä@wildduck.xn--4caaa.test' ;
136+ let headers = new Headers ( ) ;
137+ headers . add ( 'From' , value ) ;
138+
139+ test . equal ( headers . get ( 'from' ) [ 0 ] , `From: ${ value } ` ) ;
140+ test . equal ( headers . getDecoded ( 'from' ) [ 0 ] . value , value ) ;
141+ test . equal ( headers . build ( ) . toString ( ) , `From: ${ value } \r\n\r\n` ) ;
142+ test . done ( ) ;
143+ } ;
144+
145+ module . exports [ 'Preserve SMTPUTF8 mailbox with UTF-8 domain' ] = test => {
146+ let value = 'öäöä@wildduck.äää.test' ;
147+ let headers = new Headers ( ) ;
148+ headers . add ( 'From' , value ) ;
149+
150+ test . equal ( headers . get ( 'from' ) [ 0 ] , `From: ${ value } ` ) ;
151+ test . equal ( headers . getDecoded ( 'from' ) [ 0 ] . value , value ) ;
152+ test . equal ( headers . build ( ) . toString ( ) , `From: ${ value } \r\n\r\n` ) ;
153+ test . done ( ) ;
154+ } ;
155+
156+ module . exports [ 'Preserve UTF-8 display name and mailbox' ] = test => {
157+ let value = '"Jöhn Dœ" <öäöä@wildduck.xn--4caaa.test>' ;
158+ let headers = new Headers ( ) ;
159+ headers . add ( 'From' , value ) ;
160+
161+ test . equal ( headers . get ( 'from' ) [ 0 ] , `From: ${ value } ` ) ;
162+ test . equal ( headers . getDecoded ( 'from' ) [ 0 ] . value , value ) ;
163+ test . equal ( headers . build ( ) . toString ( ) , `From: ${ value } \r\n\r\n` ) ;
164+ test . done ( ) ;
165+ } ;
166+
167+ module . exports [ 'Preserve ASCII address round-trip' ] = test => {
168+ let value = 'ascii@example.com' ;
169+ let headers = new Headers ( ) ;
170+ headers . add ( 'From' , value ) ;
171+
172+ test . equal ( headers . get ( 'from' ) [ 0 ] , `From: ${ value } ` ) ;
173+ test . equal ( headers . getDecoded ( 'from' ) [ 0 ] . value , value ) ;
174+ test . equal ( headers . build ( ) . toString ( ) , `From: ${ value } \r\n\r\n` ) ;
175+ test . done ( ) ;
176+ } ;
0 commit comments