@@ -366,5 +366,62 @@ describe("unittests:: PrinterAPI", () => {
366366 ts . factory . createNoSubstitutionTemplateLiteral ( "\n" ) ,
367367 ts . createSourceFile ( "source.ts" , "" , ts . ScriptTarget . ESNext ) ,
368368 ) ) ;
369+
370+ printsCorrectly ( "binaryBarBarExpressionWithLeftConditionalExpression" , { } , printer =>
371+ printer . printNode (
372+ ts . EmitHint . Unspecified ,
373+ ts . factory . createExpressionStatement (
374+ ts . factory . createBinaryExpression (
375+ ts . factory . createConditionalExpression (
376+ ts . factory . createIdentifier ( "a" ) ,
377+ ts . factory . createToken ( ts . SyntaxKind . QuestionToken ) ,
378+ ts . factory . createIdentifier ( "b" ) ,
379+ ts . factory . createToken ( ts . SyntaxKind . ColonToken ) ,
380+ ts . factory . createIdentifier ( "c" ) ,
381+ ) ,
382+ ts . factory . createToken ( ts . SyntaxKind . BarBarToken ) ,
383+ ts . factory . createIdentifier ( "d" ) ,
384+ ) ,
385+ ) ,
386+ ts . createSourceFile ( "source.ts" , "" , ts . ScriptTarget . ESNext ) ,
387+ ) ) ;
388+
389+ printsCorrectly ( "binaryAmpersandAmpersandExpressionWithLeftConditionalExpression" , { } , printer =>
390+ printer . printNode (
391+ ts . EmitHint . Unspecified ,
392+ ts . factory . createExpressionStatement (
393+ ts . factory . createBinaryExpression (
394+ ts . factory . createConditionalExpression (
395+ ts . factory . createIdentifier ( "a" ) ,
396+ ts . factory . createToken ( ts . SyntaxKind . QuestionToken ) ,
397+ ts . factory . createIdentifier ( "b" ) ,
398+ ts . factory . createToken ( ts . SyntaxKind . ColonToken ) ,
399+ ts . factory . createIdentifier ( "c" ) ,
400+ ) ,
401+ ts . factory . createToken ( ts . SyntaxKind . AmpersandAmpersandToken ) ,
402+ ts . factory . createIdentifier ( "d" ) ,
403+ ) ,
404+ ) ,
405+ ts . createSourceFile ( "source.ts" , "" , ts . ScriptTarget . ESNext ) ,
406+ ) ) ;
407+
408+ printsCorrectly ( "binaryQuestionQuestionExpressionWithLeftConditionalExpression" , { } , printer =>
409+ printer . printNode (
410+ ts . EmitHint . Unspecified ,
411+ ts . factory . createExpressionStatement (
412+ ts . factory . createBinaryExpression (
413+ ts . factory . createConditionalExpression (
414+ ts . factory . createIdentifier ( "a" ) ,
415+ ts . factory . createToken ( ts . SyntaxKind . QuestionToken ) ,
416+ ts . factory . createIdentifier ( "b" ) ,
417+ ts . factory . createToken ( ts . SyntaxKind . ColonToken ) ,
418+ ts . factory . createIdentifier ( "c" ) ,
419+ ) ,
420+ ts . factory . createToken ( ts . SyntaxKind . QuestionQuestionToken ) ,
421+ ts . factory . createIdentifier ( "d" ) ,
422+ ) ,
423+ ) ,
424+ ts . createSourceFile ( "source.ts" , "" , ts . ScriptTarget . ESNext ) ,
425+ ) ) ;
369426 } ) ;
370427} ) ;
0 commit comments