@@ -162,7 +162,10 @@ function build_mdast(tags: string[], has_output: boolean) {
162162 ] ,
163163 } ;
164164 if ( has_output ) {
165- mdast . children [ 0 ] . children . push ( { type : 'output' } ) ;
165+ mdast . children [ 0 ] . children . push ( {
166+ type : 'outputs' ,
167+ children : [ { type : 'output' , children : [ ] } ] ,
168+ } ) ;
166169 }
167170 return mdast ;
168171}
@@ -261,7 +264,7 @@ describe('propagateBlockDataToCode', () => {
261264 const mdast = build_mdast ( [ tag ] , has_output ) ;
262265 propagateBlockDataToCode ( new Session ( ) , new VFile ( ) , mdast ) ;
263266 let result = '' ;
264- const outputNode = mdast . children [ 0 ] . children [ 1 ] ;
267+ const outputsNode = mdast . children [ 0 ] . children [ 1 ] ;
265268 switch ( target ) {
266269 case 'cell' :
267270 result = mdast . children [ 0 ] . visibility ;
@@ -270,12 +273,14 @@ describe('propagateBlockDataToCode', () => {
270273 result = mdast . children [ 0 ] . children [ 0 ] . visibility ;
271274 break ;
272275 case 'output' :
273- if ( ! has_output && target == 'output' ) {
274- expect ( outputNode ) . toEqual ( undefined ) ;
276+ if ( ! has_output ) {
277+ expect ( outputsNode ) . toEqual ( undefined ) ;
275278 continue ;
276279 }
277- result = outputNode . visibility ;
280+ result = outputsNode . visibility ;
278281 break ;
282+ default :
283+ throw new Error ( ) ;
279284 }
280285 expect ( result ) . toEqual ( action ) ;
281286 }
@@ -290,13 +295,13 @@ describe('propagateBlockDataToCode', () => {
290295 propagateBlockDataToCode ( new Session ( ) , new VFile ( ) , mdast ) ;
291296 const blockNode = mdast . children [ 0 ] ;
292297 const codeNode = mdast . children [ 0 ] . children [ 0 ] ;
293- const outputNode = mdast . children [ 0 ] . children [ 1 ] ;
298+ const outputsNode = mdast . children [ 0 ] . children [ 1 ] ;
294299 expect ( blockNode . visibility ) . toEqual ( action ) ;
295300 expect ( codeNode . visibility ) . toEqual ( action ) ;
296301 if ( has_output ) {
297- expect ( outputNode . visibility ) . toEqual ( action ) ;
302+ expect ( outputsNode . visibility ) . toEqual ( action ) ;
298303 } else {
299- expect ( outputNode ) . toEqual ( undefined ) ;
304+ expect ( outputsNode ) . toEqual ( undefined ) ;
300305 }
301306 }
302307 }
@@ -313,7 +318,8 @@ describe('propagateBlockDataToCode', () => {
313318 executable : true ,
314319 } ,
315320 {
316- type : 'output' ,
321+ type : 'outputs' ,
322+ children : [ ] ,
317323 } ,
318324 ] ,
319325 data : {
@@ -323,10 +329,10 @@ describe('propagateBlockDataToCode', () => {
323329 ] ,
324330 } ;
325331 propagateBlockDataToCode ( new Session ( ) , new VFile ( ) , mdast ) ;
326- const outputNode = mdast . children [ 0 ] . children [ 1 ] ;
327- expect ( outputNode . children ?. length ) . toEqual ( 1 ) ;
328- expect ( outputNode . children [ 0 ] . type ) . toEqual ( 'image' ) ;
329- expect ( outputNode . children [ 0 ] . placeholder ) . toBeTruthy ( ) ;
332+ const outputsNode = mdast . children [ 0 ] . children [ 1 ] ;
333+ expect ( outputsNode . children ?. length ) . toEqual ( 1 ) ;
334+ expect ( outputsNode . children [ 0 ] . type ) . toEqual ( 'image' ) ;
335+ expect ( outputsNode . children [ 0 ] . placeholder ) . toBeTruthy ( ) ;
330336 } ) ;
331337 it ( 'placeholder passes with no output' , async ( ) => {
332338 const mdast : any = {
0 commit comments