@@ -39,6 +39,15 @@ const stubs: Record<string, string[]> = {
39
39
] ,
40
40
'_dnsaddr.self-referential.io' : [
41
41
'dnsaddr=/dnsaddr/self-referential.io'
42
+ ] ,
43
+ '_dnsaddr.double-quoted-answer.io' : [
44
+ '"dnsaddr=/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb"'
45
+ ] ,
46
+ '_dnsaddr.single-quoted-answer.io' : [
47
+ "'dnsaddr=/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb'"
48
+ ] ,
49
+ '_dnsaddr.mixed-quoted-answer.io' : [
50
+ '"\'""" dnsaddr=/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb" "'
42
51
]
43
52
}
44
53
@@ -158,5 +167,44 @@ describe('multiaddr resolve', () => {
158
167
159
168
await expect ( resolvePromise ) . to . eventually . be . rejected ( ) . with . property ( 'code' , 'ERR_MAX_RECURSIVE_DEPTH_REACHED' )
160
169
} )
170
+
171
+ it ( 'should handle double quotes' , async ( ) => {
172
+ const ma = multiaddr ( '/dnsaddr/double-quoted-answer.io' )
173
+
174
+ // Resolve
175
+ const resolvedMas = await ma . resolve ( {
176
+ dns
177
+ } )
178
+
179
+ // Should ignore double quotes
180
+ expect ( resolvedMas ) . to . have . lengthOf ( 1 )
181
+ expect ( resolvedMas [ 0 ] . toString ( ) ) . to . equal ( '/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb' )
182
+ } )
183
+
184
+ it ( 'should handle single quotes' , async ( ) => {
185
+ const ma = multiaddr ( '/dnsaddr/single-quoted-answer.io' )
186
+
187
+ // Resolve
188
+ const resolvedMas = await ma . resolve ( {
189
+ dns
190
+ } )
191
+
192
+ // Should ignore double quotes
193
+ expect ( resolvedMas ) . to . have . lengthOf ( 1 )
194
+ expect ( resolvedMas [ 0 ] . toString ( ) ) . to . equal ( '/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb' )
195
+ } )
196
+
197
+ it ( 'should handle mixed quotes' , async ( ) => {
198
+ const ma = multiaddr ( '/dnsaddr/mixed-quoted-answer.io' )
199
+
200
+ // Resolve
201
+ const resolvedMas = await ma . resolve ( {
202
+ dns
203
+ } )
204
+
205
+ // Should ignore double quotes
206
+ expect ( resolvedMas ) . to . have . lengthOf ( 1 )
207
+ expect ( resolvedMas [ 0 ] . toString ( ) ) . to . equal ( '/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb' )
208
+ } )
161
209
} )
162
210
} )
0 commit comments