This commit is contained in:
proteriax
2021-07-22 14:35:29 -04:00
parent 21003af738
commit 5257dc7ed2
8 changed files with 46 additions and 28 deletions

View File

@ -1,4 +1,4 @@
import { readFileSync, existsSync } from "fs"
import { readFileSync, existsSync, writeFileSync } from "fs"
import { describe, it } from "mocha"
import { resolve } from "path"
import { expect } from "chai"
@ -10,12 +10,14 @@ import plugin from "../src/index"
const canonize = (code: string) =>
format(code, { parser: "babel" }).trim().split("\n").filter(Boolean).join("\n")
const read = (path: string) => [path, readFileSync(path, "utf-8")] as const
const equal = (name: Snapshot) => {
const folder = resolve(__dirname, "snapshots", name)
const actual = readFileSync(resolve(folder, "input.txt"), "utf-8")
const expected = readFileSync(resolve(folder, "output.txt"), "utf-8")
const [, actual] = read(resolve(folder, "input.txt"))
const [expectedPath, expected] = read(resolve(folder, "output.txt"))
const babelrc: babel.TransformOptions = existsSync(resolve(folder, ".babelrc"))
? JSON.parse(readFileSync(resolve(folder, ".babelrc"), "utf-8"))
? JSON.parse(read(resolve(folder, ".babelrc"))[1])
: {}
const transformed = transform(actual, {
@ -38,7 +40,12 @@ const equal = (name: Snapshot) => {
},
],
})!.code!
expect(canonize(transformed) + "\n").to.deep.equal(canonize(expected) + "\n")
if (process.env.OVERWRITE) {
writeFileSync(expectedPath, transformed)
} else {
expect(canonize(transformed) + "\n").to.deep.equal(canonize(expected) + "\n")
}
}
describe("tsc-decorator", () => {