import test from 'node:test'; import assert from 'node:assert/strict'; import {spawn} from 'node:child_process'; import {createRequire} from 'node:module'; import {fileURLToPath} from 'node:url'; test('Chromium contenteditable plain paste blocks secrets, HTML execution and stale editor snapshots', {timeout:25000},async()=>{ const require=createRequire(import.meta.url),env={...process.env};delete env.ELECTRON_RUN_AS_NODE; const child=spawn(require('electron'),[fileURLToPath(new URL('./contenteditable-clipboard.fixture.cjs',import.meta.url))],{env,windowsHide:true,stdio:['ignore','pipe','pipe']});let output=''; child.stdout.on('data',b=>output+=b);child.stderr.on('data',b=>output+=b); const timer=setTimeout(()=>child.kill(),20000);const code=await new Promise((resolve,reject)=>{child.once('error',reject);child.once('exit',resolve);});clearTimeout(timer); assert.equal(code,0,output);assert.match(output,/CONTENTEDITABLE_CLIPBOARD_PASS/); });