feat(math6): Глава 1, волна 1 — §1–§3 (разряды, сравнение/округление, координатный луч)
§1 разрядный конструктор (ползунки) + квиз «цифра в разряде»; §2 сравнение на числовой прямой + тренажёр округления; §3 чтение координаты и поиск точки A–D на координатном луче (Math6.numberLine). Теория-карточки, шпаргалки, подсказки, глоссарий. Тесты: 9/9. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -74,6 +74,21 @@ test('hub: 6 карточек глав', async () => {
|
||||
assert.equal(doc.querySelectorAll('.ch-grid .ch-card').length, 6, '6 глав');
|
||||
});
|
||||
|
||||
test('ch1 Волна 1: интерактивы §1–§3 монтируются без ошибок', async () => {
|
||||
const { doc, errors } = await loadDom('math_6_ch1.html');
|
||||
const win = doc.defaultView;
|
||||
// §1 строится при загрузке
|
||||
assert.ok(doc.querySelector('#p1-iv1 #p1-c'), 'разрядный конструктор §1');
|
||||
assert.ok(doc.querySelector('#p1-iv2 #p1-qq'), 'разряд-квиз §1');
|
||||
win.goTo('p2'); await wait(80);
|
||||
assert.ok(doc.querySelector('#p2-cfig svg'), 'числовая прямая сравнения §2');
|
||||
assert.ok(doc.querySelector('#p2-iv2 #p2-rq'), 'тренажёр округления §2');
|
||||
win.goTo('p3'); await wait(80);
|
||||
assert.ok(doc.querySelector('#p3-afig svg'), 'координатный луч §3');
|
||||
assert.ok(doc.querySelectorAll('#p3-iv2 [data-pt]').length === 4, 'выбор точки A–D §3');
|
||||
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