Skip to content

Commit 622142e

Browse files
committed
Implement stderr in UI
1 parent 56cd38c commit 622142e

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

src/ui/index.html

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
<!-- Right Panel BOTTOM -->
4747
<div id="bottom-right-panel" class="panel-item">
4848
<div class="tab-panel">
49-
<div class="tab">Testcase</div>
49+
<div class="tab" id="tab-testcases">Testcase</div>
5050
<div class="tab-separator"></div>
5151
<div class="tab" id="tab-test-results-button">Test Results</div>
5252
<div class="tab-separator"></div>
@@ -56,15 +56,20 @@
5656
<!-- Testcase Container-->
5757
<div id="tab-testcase-container">
5858
<h5 class="testcase-container-title">Input:</h5>
59-
<textarea id="input-container" class="testcase-container-text"></textarea>
60-
<h5 class="testcase-container-title">Output:</h5>
61-
<textarea readonly id="testcase-output" class="testcase-container-text">
59+
<textarea id="input-container" class="testcase-container-text">
6260
</textarea>
6361
<h5 class="testcase-container-title">Expected:</h5>
6462
<textarea readonly id="expected-output" class="testcase-container-text">
6563
</textarea>
64+
<h5 class="testcase-container-title">Output:</h5>
65+
<textarea readonly id="testcase-output" class="testcase-container-text">
66+
</textarea>
6667
<h5 class="testcase-container-title">Stdout:</h5>
67-
<textarea readonly id="testcase-stdout" class="testcase-container-text"></textarea>
68+
<textarea readonly id="testcase-stdout" class="testcase-container-text">
69+
</textarea>
70+
<h5 class="testcase-container-title">Stderr:</h5>
71+
<textarea readonly id="testcase-stderr" class="testcase-container-text">
72+
</textarea>
6873
<!-- Testcase Container END -->
6974
</div>
7075
</div>

src/ui/index.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,16 +182,19 @@ function setCustomTestcaseResults(results) {
182182
if (!validateResults(results)) {
183183
return;
184184
}
185+
186+
document.getElementById('testcase-stderr').textContent = results.stderr;
185187

186188
if (results.tests.length !== 1) {
187189
console.error("Expected 1 custom test results, got " +
188190
results.tests.length);
189-
return;
191+
return;
190192
}
191193

192194
if (results.tests[0].status !== "Skipped") {
193195
console.error("Expected custom test status to be 'skipped', got " +
194196
results.tests[0].status);
197+
return;
195198
}
196199

197200
console.log("Setting custom testcase results: " + JSON.stringify(results));
@@ -202,6 +205,8 @@ function setCustomTestcaseResults(results) {
202205

203206
run(setExpectedTestcaseResults, directoryManager.getCustomTestcaseName(),
204207
true);
208+
209+
document.getElementById('tab-testcases').click();
205210
}
206211

207212
function setExpectedTestcaseResults(expected) {
@@ -227,6 +232,12 @@ function setExpectedTestcaseResults(expected) {
227232
function runCustomTestcase() {
228233
console.log("Running custom testcase for " + activeProblem);
229234

235+
document.getElementById('testcase-stdout').textContent = "";
236+
document.getElementById('testcase-stderr').textContent = "";
237+
document.getElementById('testcase-output').textContent = "";
238+
document.getElementById('compilation-content').textContent = "";
239+
document.getElementById('test-results-content').innerHTML = "";
240+
230241
const input = document.getElementById('input-container').value + "\n*";
231242
const customTestcaseFilename =
232243
directoryManager.getCustomTestcaseFilename(activeProblem);
@@ -266,6 +277,10 @@ function setUserSolution(problemName) {
266277

267278
var previousProblem;
268279
function onProblemSelected(problemName) {
280+
document.getElementById('testcase-stdout').textContent = "";
281+
document.getElementById('testcase-stderr').textContent = "";
282+
document.getElementById('testcase-output').textContent = "";
283+
269284
saveSolution('cpp', editor.getValue());
270285
previousProblem = problemName;
271286

@@ -306,12 +321,16 @@ function initializeSaveCommand() {
306321
function initializeRunCommand() {
307322
ipcRenderer.on('run-command', () => {
308323
console.log('Received run command');
324+
document.getElementById('compilation-content').textContent = "";
325+
document.getElementById('test-results-content').innerHTML = "";
309326
run(setTestResults);
310327
});
311328

312329
document.getElementById('run-button')
313330
.addEventListener('click', function() {
314331
console.log('Run button clicked');
332+
document.getElementById('compilation-content').textContent = "";
333+
document.getElementById('test-results-content').innerHTML = "";
315334
run(setTestResults);
316335
});
317336
}

0 commit comments

Comments
 (0)