test(i18n): deduplicate merge conflict setup

This commit is contained in:
Tianyi Cui
2026-08-08 21:26:31 +08:00
parent 3abe813fd3
commit 75570ba31e

View File

@@ -103,6 +103,16 @@ function createDivergedPair(fixture: Fixture): { ancestor: string; current: stri
return { ancestor, current, other }
}
function startStoppedPairingMerge(fixture: Fixture): void {
createDivergedPair(fixture)
const merge = spawnSync('git', ['-C', fixture.root, 'merge', '--no-commit', 'master'], {
encoding: 'utf8',
env: fixture.env,
})
expect(merge.status).toBe(1)
expect(git(fixture, ['diff', '--name-only', '--diff-filter=U'])).toBe('docs/guide.i18n.yaml')
}
function expectMergedPair(fixture: Fixture): void {
expect(readFileSync(join(fixture.root, 'docs/guide.md'), 'utf8')).toBe(mergedSource)
expect(readFileSync(join(fixture.root, 'docs/guide.zh.md'), 'utf8')).toBe(mergedZh)
@@ -223,13 +233,7 @@ describe('translation pairing merge composition', () => {
it('resolves an already-stopped generated-only conflict from index stages', () => {
const fixture = createFixture(false)
createDivergedPair(fixture)
const merge = spawnSync('git', ['-C', fixture.root, 'merge', '--no-commit', 'master'], {
encoding: 'utf8',
env: fixture.env,
})
expect(merge.status).toBe(1)
expect(git(fixture, ['diff', '--name-only', '--diff-filter=U'])).toBe('docs/guide.i18n.yaml')
startStoppedPairingMerge(fixture)
expect(resolveTranslationPairingConflicts(fixture.root)).toEqual(['docs/guide.i18n.yaml'])
@@ -239,12 +243,7 @@ describe('translation pairing merge composition', () => {
it('refuses to confirm unstaged owner bytes after a stopped merge', () => {
const fixture = createFixture(false)
createDivergedPair(fixture)
const merge = spawnSync('git', ['-C', fixture.root, 'merge', '--no-commit', 'master'], {
encoding: 'utf8',
env: fixture.env,
})
expect(merge.status).toBe(1)
startStoppedPairingMerge(fixture)
write(fixture.root, 'docs/guide.md', `${mergedSource}\nunstaged\n`)
expect(() => resolveTranslationPairingConflicts(fixture.root)).toThrow(