-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathhideFailCases.js
54 lines (43 loc) · 2.17 KB
/
hideFailCases.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
function hideFailCases() {
const submissionDOM = document.querySelector("div[data-key=submissions-content]")
const submmisionTabVisible = submissionDOM?.children.length > 0;
if (submmisionTabVisible) {
const result = submissionDOM.querySelector("div[data-cypress=SubmissionSuccess]")
if (!result) {
return false
}
const hasError = result.getAttribute("type") === "error"
if (!hasError) return true
const input = submissionDOM.children[0].children[0].children[0].children[0].children[2]
const output = submissionDOM.children[0].children[0].children[0].children[0].children[3]
const expect = submissionDOM.children[0].children[0].children[0].children[0].children[4]
input.style.display = "none"
output.style.display = "none"
expect.style.display = "none"
if (!document.querySelector("#leetcode-cheat-show-fail-cases")) {
const showFailCases = document.createElement("div");
showFailCases.id = "leetcode-cheat-show-fail-cases";
const showFailCasesTip = document.createElement("span")
showFailCasesTip.innerText = "请先尝试自己解决,如果实在无法解决再尝试显示失败的测试用例!";
showFailCasesTip.style["margin-right"] = "20px";
showFailCasesTip.style["line-height"] = "32px";
const showFailCasesButton = document.createElement("a")
showFailCasesButton.innerText = "点击显示失败的测试用例"
showFailCasesButton.style["margin-right"] = "20px";
showFailCasesButton.style["line-height"] = "32px";
showFailCasesButton.onclick = () => {
input.style.display = "block"
output.style.display = "block"
expect.style.display = "block"
};
showFailCases.appendChild(showFailCasesTip);
showFailCases.appendChild(showFailCasesButton);
submissionDOM.children[0].children[0].children[0].children[0].insertBefore(showFailCases, input)
}
return true
}
return false
}
export default function run() {
return hideFailCases();
}