feat: Implement week grid layout for timetable display
- Added WeekGrid composable to visualize weekly timetable with lessons. - Introduced LessonBlock for individual lesson representation. - Created theme file for consistent color schemes across the app. - Developed NextLessonWidget and TodayWidget for home screen integration. - Implemented Upcoming data class to manage upcoming lessons. - Added WidgetStyle for dynamic theming in widgets. - Created SyncWorker for periodic timetable updates and widget refresh.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { parseDocx, parseWord } from "../server/parser.js";
|
||||
import { groupsIn, parseDocx, parseWord } from "../server/parser.js";
|
||||
import { decodeListing, fileMetadata } from "../server/source.js";
|
||||
const fixture = (name) =>
|
||||
readFileSync(new URL(`./fixtures/${name}.docx`, import.meta.url));
|
||||
@@ -104,6 +104,26 @@ test("Дневные таблицы четырёх факультетов рас
|
||||
);
|
||||
}
|
||||
});
|
||||
test("Даты практики в заголовке группы не становятся группами", () => {
|
||||
// Заголовки из каталога 2026–2027 (ГФ и ФКНЭ).
|
||||
assert.deepEqual(
|
||||
groupsIn("23-ДО\n(02.11-22.11-производственная практика)"),
|
||||
["23-ДО"],
|
||||
);
|
||||
assert.deepEqual(
|
||||
groupsIn("24-ПП\n(09.11 по 06.12-производственная практика)"),
|
||||
["24-ПП"],
|
||||
);
|
||||
assert.deepEqual(
|
||||
groupsIn("23-ТТиИ (16.11-29.11-учебная практика)"),
|
||||
["23-ТТиИ"],
|
||||
);
|
||||
assert.deepEqual(groupsIn("25-ИЯ(РА) 23 ИНС-1 24ДОи"), [
|
||||
"25-ИЯ(РА)",
|
||||
"23-ИНС-1",
|
||||
"24-ДОи",
|
||||
]);
|
||||
});
|
||||
test("Сессии: отдельные колонки времени, аудитории и преподавателя", () => {
|
||||
const s = parseDocx(fixture("fit"), { name: "26-ИТзс.docx" }),
|
||||
l = s.lessons[0];
|
||||
|
||||
Reference in New Issue
Block a user