diff --git a/lib/plugins/leetcode.js b/lib/plugins/leetcode.js index 057e83ff..4b90412d 100644 --- a/lib/plugins/leetcode.js +++ b/lib/plugins/leetcode.js @@ -242,13 +242,12 @@ function verifyResult(task, queue, cb) { function formatResult(result) { const x = { ok: result.run_success, - answer: result.code_answer || '', lang: result.lang, runtime: result.status_runtime || '', runtime_percentile: result.runtime_percentile || '', memory: result.status_memory || '', memory_percentile: result.memory_percentile || '', - state: h.statusToName(result.status_code), + state: result.status_msg, testcase: util.inspect(result.input || result.last_testcase || ''), passed: result.total_correct || 0, total: result.total_testcases || 0 @@ -259,16 +258,19 @@ function formatResult(result) { .values() .value(); - if (result.judge_type === 'large') { - x.answer = result.code_output; - x.expected_answer = result.expected_output; - x.stdout = result.std_output; - } else { + if (result.submission_id.includes('interpret')) { + // It's testing let output = result.code_output || []; if (Array.isArray(output)) { output = output.join('\n'); } x.stdout = util.inspect(output); + x.answer = result.code_answer; + } else { + // It's submitting + x.answer = result.code_output; + x.expected_answer = result.expected_output; + x.stdout = result.std_output; } // make sure we pass eveything! diff --git a/test/plugins/test_leetcode.js b/test/plugins/test_leetcode.js index 1719b4e3..d4e7a3e9 100644 --- a/test/plugins/test_leetcode.js +++ b/test/plugins/test_leetcode.js @@ -401,11 +401,11 @@ describe('plugin:leetcode', function() { nock('https://leetcode.com') .get('/submissions/detail/id1/check/') - .reply(200, '{"state": "SUCCESS", "run_success": true, "status_code": 10}'); + .reply(200, '{"state": "SUCCESS", "run_success": true, "status_msg": "Accepted", "submission_id": "interpret_expected_id1"}'); nock('https://leetcode.com') .get('/submissions/detail/id2/check/') - .reply(200, '{"state": "SUCCESS", "run_success": false, "status_code": 15}'); + .reply(200, '{"state": "SUCCESS", "run_success": false, "status_msg": "Runtime Error", "submission_id": "interpret_id2"}'); plugin.testProblem(PROBLEM, function(e, results) { assert.equal(e, null); @@ -437,7 +437,7 @@ describe('plugin:leetcode', function() { nock('https://leetcode.com') .get('/submissions/detail/id1/check/') - .reply(200, '{"state": "SUCCESS", "run_success": true, "status_code": 10}'); + .reply(200, '{"state": "SUCCESS", "run_success": true, "status_msg": "Accepted", "submission_id": "id1"}'); plugin.submitProblem(PROBLEM, function(e, results) { assert.equal(e, null); @@ -460,7 +460,7 @@ describe('plugin:leetcode', function() { .reply(200, '{"state": "STARTED"}'); nock('https://leetcode.com') .get('/submissions/detail/id1/check/') - .reply(200, '{"state": "SUCCESS", "run_success": true, "status_code": 10}'); + .reply(200, '{"state": "SUCCESS", "run_success": true, "status_msg": "Accepted", "submission_id": "id1"}'); plugin.submitProblem(PROBLEM, function(e, results) { assert.equal(e, null);