@@ -2,10 +2,11 @@ import path from "node:path";
22import createEsmUtils from "esm-utils" ;
33import { BOM , FULL_TEST } from "./constants.js" ;
44import * as failedTests from "./failed-format-tests.js" ;
5- import { format , parse } from "./run-prettier.js" ;
5+ import { format } from "./run-prettier.js" ;
66import consistentEndOfLine from "./utils/consistent-end-of-line.js" ;
77import createSnapshot from "./utils/create-snapshot.js" ;
88import visualizeEndOfLine from "./utils/visualize-end-of-line.js" ;
9+ import * as testAstCompare from "./test-ast-compare.js" ;
910import * as testSecondFormat from "./test-second-format.js" ;
1011import { shouldThrowOnFormat } from "./utilities.js" ;
1112import getPrettier from "./get-prettier.js" ;
@@ -126,20 +127,8 @@ async function runTest({
126127 }
127128 }
128129
129- testSecondFormat . run ( code , formatResult , filename , formatOptions ) ;
130-
131- const isAstUnstableTest = failedTests . isAstUnstable ( filename , formatOptions ) ;
132- // Some parsers skip parsing empty files
133- if ( formatResult . changed && code . trim ( ) ) {
134- const { input, output } = formatResult ;
135- const originalAst = await parse ( input , formatOptions ) ;
136- const formattedAst = await parse ( output , formatOptions ) ;
137- if ( isAstUnstableTest ) {
138- expect ( formattedAst ) . not . toEqual ( originalAst ) ;
139- } else {
140- expect ( formattedAst ) . toEqual ( originalAst ) ;
141- }
142- }
130+ await testSecondFormat . run ( code , formatResult , filename , formatOptions ) ;
131+ await testAstCompare . run ( code , formatResult , filename , formatOptions ) ;
143132
144133 if ( ! shouldSkipEolTest ( code , formatResult . options ) ) {
145134 for ( const eol of [ "\r\n" , "\r" ] ) {
0 commit comments