feat(chemistry7): Phase 2 Волна 1 — Глава 2, §13 + ЛО2 + §14 + §15
§13 Воздух как смесь газов (интерактивная диаграмма состава), ЛО2 Сборка приборов и собирание газов (выбор способа собирания), §14 Кислород — элемент и простое вещество (переключатель O/O2/O3 + модели), §15 Химические свойства кислорода (симулятор горения C/S/P/Fe/Mg → оксид). chem7_ch2_widgets.js. Тест: 11/11 pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ function buildPage(file) {
|
||||
'/js/chem8_svg.js': readF('frontend/js/chem8_svg.js'),
|
||||
'/js/chem7_svg.js': readF('frontend/js/chem7_svg.js'),
|
||||
'/js/chem7_ch1_widgets.js': readF('frontend/js/chem7_ch1_widgets.js'),
|
||||
'/js/chem7_ch2_widgets.js': readF('frontend/js/chem7_ch2_widgets.js'),
|
||||
'/js/chem8_engine.js': readF('frontend/js/chem8_engine.js')
|
||||
};
|
||||
html = html
|
||||
@@ -133,6 +134,20 @@ test('ch1: переход к §9 и финалу строит без ошибо
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
test('ch2 Волна 1: интерактивы §13 + ЛО2 + §14 + §15 монтируются', async () => {
|
||||
const { doc, errors } = await loadDom('chemistry_7_ch2.html');
|
||||
assert.ok(doc.querySelector('#p13-air .air-seg'), 'диаграмма состава воздуха §13');
|
||||
doc.defaultView.goTo('lo2'); await wait(100);
|
||||
assert.ok(doc.querySelector('#lo2-coll #lo2-pick'), 'выбор собирания газа ЛО2');
|
||||
doc.defaultView.goTo('p14'); await wait(100);
|
||||
assert.ok(doc.querySelector('#p14-tog #p14-o2'), 'переключатель элемент/вещество §14');
|
||||
doc.defaultView.goTo('p15'); await wait(100);
|
||||
assert.ok(doc.querySelector('#p15-burn #p15-go'), 'симулятор горения §15');
|
||||
doc.defaultView.goTo('p15'); doc.getElementById('p15-go').dispatchEvent(new doc.defaultView.Event('click', { bubbles: true }));
|
||||
assert.match(doc.querySelector('#p15-out').textContent, /оксид/, 'горение даёт оксид');
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
/* ── Хаб: каталог глав + финал курса ── */
|
||||
function buildHub() {
|
||||
let html = readF('frontend/textbooks/chemistry_7_hub.html');
|
||||
|
||||
Reference in New Issue
Block a user