| // Copyright 2017 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import prettier from "prettier/standalone"; |
| import babelParser from "prettier/parser-babel"; |
| import estree from "prettier/plugins/estree"; |
| |
| const payloads = [ |
| { |
| name: "preact-8.2.5.js", |
| options: { semi: false, useTabs: false, parser: "babel" }, |
| }, |
| { |
| name: "lodash.core-4.17.21.js", |
| options: { semi: true, useTabs: true, parser: "babel" }, |
| }, |
| { |
| name: "todomvc/react/app.jsx", |
| options: { semi: false, useTabs: true, parser: "babel" }, |
| }, |
| { |
| name: "todomvc/react/footer.jsx", |
| options: { |
| jsxBracketSameLine: true, |
| semi: true, |
| useTabs: true, |
| parser: "babel", |
| }, |
| }, |
| { |
| name: "todomvc/react/todoItem.jsx", |
| options: { semi: false, singleQuote: true, useTabs: true, parser: "babel" }, |
| }, |
| ]; |
| |
| export async function runTest(fileData) { |
| const testData = payloads.map(({ name, options }) => ({ |
| payload: fileData[name], |
| options, |
| })); |
| |
| return Promise.all( |
| testData.map(({ payload, options }) => |
| prettier.format(payload, { ...options, plugins: [babelParser, estree] }) |
| ) |
| ); |
| } |