@@ -185,6 +185,68 @@ test('raw', function (t) {
185
185
'should not discard HTML broken over several raw nodes'
186
186
)
187
187
188
+ t . deepEqual (
189
+ raw ( u ( 'root' , [ u ( 'custom' , 'x' ) ] ) , { passThrough : [ 'custom' ] } ) ,
190
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , 'x' ) ] ) ,
191
+ 'should support passing through nodes w/o children'
192
+ )
193
+
194
+ t . deepEqual (
195
+ raw ( u ( 'root' , [ u ( 'custom' , [ u ( 'raw' , '<i>j</i>' ) ] ) ] ) , {
196
+ passThrough : [ 'custom' ]
197
+ } ) ,
198
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ h ( 'i' , 'j' ) ] ) ] ) ,
199
+ 'should support passing through nodes w/ `raw` children'
200
+ )
201
+
202
+ t . deepEqual (
203
+ raw ( u ( 'root' , [ u ( 'custom' , [ u ( 'comment' , 'x' ) ] ) ] ) , {
204
+ passThrough : [ 'custom' ]
205
+ } ) ,
206
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ u ( 'comment' , 'x' ) ] ) ] ) ,
207
+ 'should support passing through nodes w/ `comment` children'
208
+ )
209
+
210
+ t . deepEqual (
211
+ raw ( u ( 'root' , [ u ( 'custom' , [ ] ) ] ) , {
212
+ passThrough : [ 'custom' ]
213
+ } ) ,
214
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ ] ) ] ) ,
215
+ 'should support passing through nodes w/ `0` children'
216
+ )
217
+
218
+ t . deepEqual (
219
+ raw ( u ( 'root' , [ u ( 'custom' , [ u ( 'raw' , '<x' ) ] ) ] ) , {
220
+ passThrough : [ 'custom' ]
221
+ } ) ,
222
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ ] ) ] ) ,
223
+ 'should support passing through nodes w/ broken raw children (1)'
224
+ )
225
+
226
+ t . deepEqual (
227
+ raw ( u ( 'root' , [ u ( 'custom' , [ u ( 'raw' , '<x>' ) ] ) ] ) , {
228
+ passThrough : [ 'custom' ]
229
+ } ) ,
230
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ h ( 'x' ) ] ) ] ) ,
231
+ 'should support passing through nodes w/ broken raw children (2)'
232
+ )
233
+
234
+ t . deepEqual (
235
+ raw ( u ( 'root' , [ u ( 'custom' , [ u ( 'raw' , '</x>' ) ] ) ] ) , {
236
+ passThrough : [ 'custom' ]
237
+ } ) ,
238
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ ] ) ] ) ,
239
+ 'should support passing through nodes w/ broken raw children (3)'
240
+ )
241
+
242
+ t . deepEqual (
243
+ raw ( u ( 'root' , [ u ( 'custom' , [ u ( 'raw' , '<x>' ) ] ) , u ( 'raw' , '</x>' ) ] ) , {
244
+ passThrough : [ 'custom' ]
245
+ } ) ,
246
+ u ( 'root' , { data : { quirksMode : false } } , [ u ( 'custom' , [ h ( 'x' ) ] ) ] ) ,
247
+ 'should support passing through nodes w/ broken raw children (4)'
248
+ )
249
+
188
250
t . deepEqual (
189
251
raw ( u ( 'root' , [ u ( 'raw' , '<script>alert(1)</script>' ) ] ) ) ,
190
252
u ( 'root' , { data : { quirksMode : false } } , [
0 commit comments