Skip to content

Commit f4e6133

Browse files
authored
Fix the output bug (#26)
1 parent 3386579 commit f4e6133

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

Diff for: lib/plugins/leetcode.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,12 @@ function verifyResult(task, queue, cb) {
242242
function formatResult(result) {
243243
const x = {
244244
ok: result.run_success,
245-
answer: result.code_answer || '',
246245
lang: result.lang,
247246
runtime: result.status_runtime || '',
248247
runtime_percentile: result.runtime_percentile || '',
249248
memory: result.status_memory || '',
250249
memory_percentile: result.memory_percentile || '',
251-
state: h.statusToName(result.status_code),
250+
state: result.status_msg,
252251
testcase: util.inspect(result.input || result.last_testcase || ''),
253252
passed: result.total_correct || 0,
254253
total: result.total_testcases || 0
@@ -259,16 +258,19 @@ function formatResult(result) {
259258
.values()
260259
.value();
261260

262-
if (result.judge_type === 'large') {
263-
x.answer = result.code_output;
264-
x.expected_answer = result.expected_output;
265-
x.stdout = result.std_output;
266-
} else {
261+
if (result.submission_id.includes('interpret')) {
262+
// It's testing
267263
let output = result.code_output || [];
268264
if (Array.isArray(output)) {
269265
output = output.join('\n');
270266
}
271267
x.stdout = util.inspect(output);
268+
x.answer = result.code_answer;
269+
} else {
270+
// It's submitting
271+
x.answer = result.code_output;
272+
x.expected_answer = result.expected_output;
273+
x.stdout = result.std_output;
272274
}
273275

274276
// make sure we pass eveything!

Diff for: test/plugins/test_leetcode.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -401,11 +401,11 @@ describe('plugin:leetcode', function() {
401401

402402
nock('https://leetcode.com')
403403
.get('/submissions/detail/id1/check/')
404-
.reply(200, '{"state": "SUCCESS", "run_success": true, "status_code": 10}');
404+
.reply(200, '{"state": "SUCCESS", "run_success": true, "status_msg": "Accepted", "submission_id": "interpret_expected_id1"}');
405405

406406
nock('https://leetcode.com')
407407
.get('/submissions/detail/id2/check/')
408-
.reply(200, '{"state": "SUCCESS", "run_success": false, "status_code": 15}');
408+
.reply(200, '{"state": "SUCCESS", "run_success": false, "status_msg": "Runtime Error", "submission_id": "interpret_id2"}');
409409

410410
plugin.testProblem(PROBLEM, function(e, results) {
411411
assert.equal(e, null);
@@ -437,7 +437,7 @@ describe('plugin:leetcode', function() {
437437

438438
nock('https://leetcode.com')
439439
.get('/submissions/detail/id1/check/')
440-
.reply(200, '{"state": "SUCCESS", "run_success": true, "status_code": 10}');
440+
.reply(200, '{"state": "SUCCESS", "run_success": true, "status_msg": "Accepted", "submission_id": "id1"}');
441441

442442
plugin.submitProblem(PROBLEM, function(e, results) {
443443
assert.equal(e, null);
@@ -460,7 +460,7 @@ describe('plugin:leetcode', function() {
460460
.reply(200, '{"state": "STARTED"}');
461461
nock('https://leetcode.com')
462462
.get('/submissions/detail/id1/check/')
463-
.reply(200, '{"state": "SUCCESS", "run_success": true, "status_code": 10}');
463+
.reply(200, '{"state": "SUCCESS", "run_success": true, "status_msg": "Accepted", "submission_id": "id1"}');
464464

465465
plugin.submitProblem(PROBLEM, function(e, results) {
466466
assert.equal(e, null);

0 commit comments

Comments
 (0)