import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
import test from '@ava/test';
import {mainSymbols, fallbackSymbols} from 'figures';
import {cwd, fixture} from '../helpers/exec.js';
import {withTemporaryFixture} from '../helpers/with-temporary-fixture.js';
test('multiline snapshot label should be formatted correctly in the report', async t => {
await withTemporaryFixture(cwd('multiline-snapshot-label'), async cwd => {
await fixture(['--update-snapshots'], {
cwd,
env: {
AVA_FORCE_CI: 'not-ci',
},
});
const reportPath = path.join(cwd, 'test.js.md');
const report = fs.readFileSync(reportPath, {encoding: 'utf8'});
t.snapshot(report, 'resulting snapshot report');
});
});
test('test title should be normalized in stdout', async t => {
await withTemporaryFixture(cwd('normalized-title-in-stdout'), async cwd => {
const result = await fixture(['--update-snapshots'], {
cwd,
env: {
AVA_FORCE_CI: 'not-ci',
},
});
t.snapshot(
result.stdout
.replaceAll(os.EOL, '\n')
.replaceAll(mainSymbols.info, fallbackSymbols.info)
.replaceAll(mainSymbols.tick, fallbackSymbols.tick),
'stdout');
});
});
test('test title should be normalized in snapshot', async t => {
await withTemporaryFixture(cwd('normalized-title-in-snapshots'), async cwd => {
await fixture(['--update-snapshots'], {
cwd,
env: {
AVA_FORCE_CI: 'not-ci',
},
});
const reportPath = path.join(cwd, 'test.js.md');
const report = fs.readFileSync(reportPath, {encoding: 'utf8'});
t.snapshot(report, 'resulting snapshot report');
});
});