Files
klz-cables.com/.pnpm-store/v10/files/32/af85421eb84043e1a3688173e14ee992ae1bb5a5725ba93402170aed31a85b9c5dc8215e0ce7092537902c24acf161041fb9a4322d0b78af14aa633f5c6e28
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

85 lines
2.2 KiB
Plaintext

'use strict'
const { test } = require('node:test')
const { rimraf } = require('rimraf')
const fs = require('node:fs')
const { join } = require('node:path')
const buildSafeSonicBoom = require('./build-safe-sonic-boom')
const file = () => {
const dest = join(__dirname, `${process.pid}-${process.hrtime().toString()}`)
const fd = fs.openSync(dest, 'w')
return { dest, fd }
}
test('should not write when error emitted and code is "EPIPE"', t => {
t.plan(1)
const { fd, dest } = file()
const stream = buildSafeSonicBoom({ sync: true, fd, mkdir: true })
t.after(() => rimraf(dest))
stream.emit('error', { code: 'EPIPE' })
stream.write('will not work')
const dataFile = fs.readFileSync(dest)
t.assert.strictEqual(dataFile.length, 0)
})
test('should stream.write works when error code is not "EPIPE"', t => {
t.plan(3)
const { fd, dest } = file()
const stream = buildSafeSonicBoom({ sync: true, fd, mkdir: true })
t.after(() => rimraf(dest))
stream.on('error', () => t.assert.ok('error emitted'))
stream.emit('error', 'fake error description')
t.assert.ok(stream.write('will work'))
const dataFile = fs.readFileSync(dest)
t.assert.strictEqual(dataFile.toString(), 'will work')
})
test('cover setupOnExit', async t => {
t.plan(3)
const { fd, dest } = file()
const stream = buildSafeSonicBoom({ sync: false, fd, mkdir: true })
t.after(() => rimraf(dest))
stream.on('error', () => t.assert.ok('error emitted'))
stream.emit('error', 'fake error description')
t.assert.ok(stream.write('will work'))
await watchFileCreated(dest)
const dataFile = fs.readFileSync(dest)
t.assert.strictEqual(dataFile.toString(), 'will work')
})
function watchFileCreated (filename) {
return new Promise((resolve, reject) => {
const TIMEOUT = 2000
const INTERVAL = 100
const threshold = TIMEOUT / INTERVAL
let counter = 0
const interval = setInterval(() => {
// On some CI runs file is created but not filled
if (fs.existsSync(filename) && fs.statSync(filename).size !== 0) {
clearInterval(interval)
resolve()
} else if (counter <= threshold) {
counter++
} else {
clearInterval(interval)
reject(new Error(`${filename} was not created.`))
}
}, INTERVAL)
})
}