update
This commit is contained in:
@@ -8,6 +8,7 @@ const pptxPath = path.join(base, 'prezentaciya-vampiricheskoe-tenevoe-pravitelst
|
||||
const pdfPath = path.join(base, 'prezentaciya-vampiricheskoe-tenevoe-pravitelstvo.pdf');
|
||||
const reportPath = path.join(base, 'doklad.md');
|
||||
const handoutPath = path.join(base, 'razdatochnyj-material.md');
|
||||
const generatorPath = path.join(base, 'generate_presentation.js');
|
||||
|
||||
function assert(cond, msg) {
|
||||
if (!cond) throw new Error(msg);
|
||||
@@ -22,10 +23,12 @@ async function main() {
|
||||
|
||||
const report = fs.readFileSync(reportPath, 'utf8');
|
||||
const handout = fs.readFileSync(handoutPath, 'utf8');
|
||||
const generator = fs.readFileSync(generatorPath, 'utf8');
|
||||
assert(report.includes('Sanguis Noctis Virus'), 'В докладе отсутствует ключевой термин');
|
||||
assert(report.includes('Экономика качественной крови'), 'В докладе нет раздела о качественной крови');
|
||||
assert(report.includes('Почему искусственная кровь им не подходит'), 'В докладе нет раздела про искусственную кровь');
|
||||
assert(handout.includes('Тайный рынок доноров'), 'В раздатке нет блока про тайный рынок доноров');
|
||||
assert(generator.includes("12-food-chain-chart.png") && generator.includes("assets', 'generated'"), 'Генератор не использует пакет generated PNG');
|
||||
|
||||
const pptxBuf = fs.readFileSync(pptxPath);
|
||||
const zip = await JSZip.loadAsync(pptxBuf);
|
||||
@@ -35,10 +38,10 @@ async function main() {
|
||||
assert(slideFiles.length === 15, `Ожидалось 15 слайдов, получено ${slideFiles.length}`);
|
||||
|
||||
const firstSlide = await zip.files[slideFiles[0]].async('string');
|
||||
const middleSlide = await zip.files[slideFiles[7]].async('string');
|
||||
const chainSlide = await zip.files[slideFiles[13]].async('string');
|
||||
const lastSlide = await zip.files[slideFiles[slideFiles.length - 1]].async('string');
|
||||
assert(firstSlide.includes('Пищевая цепочка:'), 'На первом слайде нет заголовка');
|
||||
assert(middleSlide.includes('Экономика качественной крови'), 'Нет слайда про экономику качественной крови');
|
||||
assert(chainSlide.includes('Пищевая цепочка: от тебя до теневого правительства'), 'На слайде пищевой цепочки нет подписанного изображения');
|
||||
assert(lastSlide.includes('Вывод'), 'На последнем слайде нет слайда с выводом');
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user