const assert = require("assert"); const fs = require("fs"); const path = require("path"); const componentPath = path.resolve( __dirname, "../../src/views/ccdiProject/components/ProjectTable.vue" ); const source = fs.readFileSync(componentPath, "utf8"); const tableBlockMatch = source.match(//m); assert(tableBlockMatch, "未找到项目列表表格"); assert( !/\sborder(\s|>)/.test(tableBlockMatch[0]), "项目列表表格不应启用边框" ); assert( !/\sstripe(\s|>)/.test(tableBlockMatch[0]), "项目列表表格不应启用斑马纹" ); assert( !source.includes("::v-deep .el-table"), "项目列表不应继续保留自定义深度表格皮肤" ); assert( source.includes('class="delete-button"'), "项目列表删除按钮应使用独立红色样式类" ); assert( source.includes("::v-deep .el-button--text.delete-button") && source.includes("color: #f56c6c"), "项目列表删除按钮应渲染为红色" ); console.log("project-table-style test passed");