import { runSampleScript, sampleDir } from "./scripts-e2e-util"; import { joinLines } from "../test-util/test-util"; import { unlinkSync } from "fs"; import { join } from "path"; import { getDebugPath } from "../../src/util/util"; const testScript = "./csv_to_other_formats.sh"; const assetDir = "csv"; const targetPaths: string[] = [ join(assetDir, "en.xml"), join(assetDir, "de.yaml"), join(assetDir, "de.json"), join(assetDir, "en.json"), join(assetDir, "en.strings"), join(assetDir, "de.po"), join(assetDir, "es.arb"), join(assetDir, "single-lang-es.csv"), join(assetDir, "single-lang-en.csv"), ]; test("csv clean", async () => { const output = await runSampleScript(testScript, [assetDir]); expect(output).toBe( joinLines( targetPaths.map((path) => { return `Target is up-to-date: '${path}'`; }) ) ); }); test("csv re-create", async () => { targetPaths.forEach((path) => { unlinkSync(join(sampleDir, path)); }); const output = await runSampleScript(testScript, [assetDir]); targetPaths.forEach((path) => { expect(output).toContain( `Write target ${getDebugPath(join(sampleDir, path))}` ); }); });