Skip to content

Commit 82f871c

Browse files
committed
add title and preserve MATLAB formatting
1 parent 4ba0f44 commit 82f871c

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

src/testResultsSummary.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ function generateTestFileRow(file: MatlabTestFile): string {
103103
<tr>
104104
<td>
105105
<details>
106-
<summary><b>${statusEmoji} ${file.name}</b></summary>
106+
<summary><b title="${file.path}">${statusEmoji} ${file.name}</b></summary>
107107
<ul style="list-style-type: none;">` +
108108
file.testCases.map(tc => `<li>` + getStatusEmoji(tc.status) + ` ` + tc.name + `</li>`).join('\n') +
109109
`</ul>
@@ -139,13 +139,26 @@ function generateFailedTestRow(test: MatlabTestCase): string {
139139
<details>
140140
<summary>View details</summary>
141141
<pre>` +
142-
test.diagnostics.map(d => d.report).join('\n') +
142+
test.diagnostics.map(d => formatDiagnosticReport(d.report)).join('\n') +
143143
`</pre>
144144
</details>
145145
</td>
146146
</tr>`;
147147
}
148148

149+
function formatDiagnosticReport(report: string): string {
150+
// Preserve MATLAB formatting while escaping special characters
151+
return report
152+
// HTML special characters
153+
.replace(/&/g, '&amp;')
154+
.replace(/</g, '&lt;')
155+
.replace(/>/g, '&gt;')
156+
.replace(/"/g, '&quot;')
157+
.replace(/'/g, '&#039;')
158+
.replace(/`/g, '&#096;')
159+
.trim();
160+
}
161+
149162
function getStatusEmoji(status: MatlabTestStatus): string {
150163
switch (status) {
151164
case MatlabTestStatus.PASSED: return '✅';

0 commit comments

Comments
 (0)