1
0
mirror of https://github.com/badges/shields.git synced 2025-04-18 19:44:04 +03:00
shields/scripts/mocha2md.js

48 lines
1.1 KiB
JavaScript

import fs from 'fs'
let data
let title
try {
if (process.argv.length < 4) {
throw new Error()
}
title = process.argv[2]
data = JSON.parse(fs.readFileSync(process.argv[3]))
} catch (e) {
process.stdout.write('failed to write summary\n')
process.exit(1)
}
process.stdout.write(`# ${title}\n\n`)
if (data.stats.passes > 0) {
process.stdout.write(`${data.stats.passes} passed\n`)
}
if (data.stats.failures > 0) {
process.stdout.write(`${data.stats.failures} failed\n`)
}
if (data.stats.pending > 0) {
process.stdout.write(`${data.stats.pending} pending\n`)
}
process.stdout.write('\n')
if (data.stats.failures > 0) {
process.stdout.write('## Failures\n\n')
for (const test of data.failures) {
if (test.err && Object.keys(test.err).length > 0) {
process.stdout.write(`${test.fullTitle}\n\n`)
process.stdout.write('```\n')
process.stdout.write(`${test.err.stack}\n`)
process.stdout.write('```\n\n')
}
}
}
if (data.stats.pending > 0) {
process.stdout.write('## Pending\n\n')
for (const test of data.pending) {
process.stdout.write(`${test.fullTitle}\n\n`)
}
}