feat(math6): Глава 1, волна 3 — §7–§10 (деление, период, преобразования)
§7 деление на натуральное (тренажёр + восстанови делимое); §8 деление на десятичную (демонстратор переноса запятой + тренажёр); §9 конечная/бесконечная (классификатор по множителям 2·5 + период через долгое деление с отслеживанием остатков, выбор десятичной записи); §10 сопоставление десятичная↔обыкновенная (DnD) + вычисление выражений. Шпаргалки/типсы/глоссарий §7–§10. Тесты 11/11. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,6 +104,23 @@ test('ch1 Волна 2: интерактивы §4–§6 монтируются
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
test('ch1 Волна 3: интерактивы §7–§10 монтируются без ошибок', async () => {
|
||||
const { doc, errors } = await loadDom('math_6_ch1.html');
|
||||
const win = doc.defaultView;
|
||||
win.goTo('p7'); await wait(80);
|
||||
assert.ok(doc.querySelector('#p7-q') && doc.querySelector('#p7-rq'), 'тренажёры деления §7');
|
||||
win.goTo('p8'); await wait(80);
|
||||
assert.ok(doc.querySelector('#p8-pick [data-k]'), 'выбор примеров §8');
|
||||
assert.ok(doc.querySelector('#p8-out').textContent.indexOf('=') >= 0, 'демонстратор переноса запятой §8');
|
||||
win.goTo('p9'); await wait(80);
|
||||
assert.ok(doc.querySelector('#p9-iv1 [data-fin]'), 'классификатор §9');
|
||||
assert.ok(doc.querySelectorAll('#p9-dopts [data-o]').length === 3, 'варианты десятичной §9');
|
||||
win.goTo('p10'); await wait(80);
|
||||
assert.ok(doc.querySelectorAll('#p10-pool .dnd-chip').length === 5, 'сопоставление дробей §10');
|
||||
assert.ok(doc.querySelector('#p10-q'), 'выражения §10');
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
test('навигация и прогресс: переход на § и отметка прочтения', async () => {
|
||||
const { doc, errors } = await loadDom('math_6_ch1.html');
|
||||
const win = doc.defaultView;
|
||||
|
||||
Reference in New Issue
Block a user