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(/<el-table[\s\S]*?style="width: 100%"[\s\S]*?>/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");
