import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; import { resolve } from "node:path"; const root = resolve(import.meta.dirname, ".."); const router = readFileSync(resolve(root, "src/router/index.js"), "utf8"); const sidebar = readFileSync(resolve(root, "src/layout/components/Sidebar/index.vue"), "utf8"); const scorePage = readFileSync(resolve(root, "src/views/teacherEnd/score/index.vue"), "utf8"); const reviewPage = readFileSync(resolve(root, "src/views/teacherEnd/score/TaskReviewPanel.vue"), "utf8"); assert.match(router, /path:\s*"\/task-review"[\s\S]*?title:\s*"任务评阅"/); assert.match(sidebar, /\{ title: "任务评阅", path: "\/task-review\/index" \},\s*\{ title: "成绩中心", path: "\/score\/index" \}/); assert.doesNotMatch(scorePage, /label="任务评阅"/); assert.match(reviewPage, /v-for="item in teachingClasses"/); assert.match(reviewPage, /\.task-review \{[\s\S]*?background: linear-gradient\(135deg, rgba\(6, 23, 36, 0\.84\), rgba\(4, 12, 23, 0\.78\)\)/); assert.match(reviewPage, /\.task-review__steps :deep\(\.el-step__title\) \{[\s\S]*?white-space: normal/); console.log("task review navigation is a standalone teacher menu item");