#!/usr/bin/env node const assert = require('assert/strict'); const fs = require('fs'); const os = require('os'); const path = require('path'); const { backupAndWriteAtomically } = require('../content-editor'); const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mozdit-content-save-')); try { const target = path.join(tempDir, 'home.json'); const backupDir = path.join(tempDir, 'backups'); const original = { title: 'Eredeti', enabled: true }; const replacement = { title: 'Új', enabled: false }; fs.writeFileSync(target, JSON.stringify(original) + '\n'); const backupFile = backupAndWriteAtomically(target, replacement, backupDir); assert.deepEqual(JSON.parse(fs.readFileSync(target, 'utf8')), replacement); assert.deepEqual(JSON.parse(fs.readFileSync(backupFile, 'utf8')), original); assert.equal(fs.readdirSync(tempDir).some(name => name.endsWith('.tmp')), false); console.log('Content Editor atomic save test: OK'); } finally { fs.rmSync(tempDir, { recursive: true, force: true }); }