diff --git a/lua/cp/init.lua b/lua/cp/init.lua index c46239f..eed270d 100644 --- a/lua/cp/init.lua +++ b/lua/cp/init.lua @@ -199,9 +199,9 @@ local function toggle_run_panel(is_debug) end local ctx = problem.create_context(state.platform, state.contest_id, state.problem_id, config) - local test_module = require('cp.test') + local run = require('cp.run') - if not test_module.load_test_cases(ctx, state) then + if not run.load_test_cases(ctx, state) then logger.log('no test cases found', vim.log.levels.WARN) return end @@ -375,7 +375,7 @@ local function toggle_run_panel(is_debug) end local function update_diff_panes() - local test_state = test_module.get_run_panel_state() + local test_state = run.get_run_panel_state() local current_test = test_state.test_cases[test_state.current_index] if not current_test then @@ -473,20 +473,20 @@ local function toggle_run_panel(is_debug) return end - local test_render = require('cp.test_render') - test_render.setup_highlights() + local run_render = require('cp.run_render') + run_render.setup_highlights() local ansi = require('cp.ansi') ansi.setup_highlight_groups() - local test_state = test_module.get_run_panel_state() - local tab_lines, tab_highlights = test_render.render_test_list(test_state) + local test_state = run.get_run_panel_state() + local tab_lines, tab_highlights = run_render.render_test_list(test_state) update_buffer_content(test_buffers.tab_buf, tab_lines, tab_highlights) update_diff_panes() end local function navigate_test_case(delta) - local test_state = test_module.get_run_panel_state() + local test_state = run.get_run_panel_state() if #test_state.test_cases == 0 then return end @@ -538,9 +538,9 @@ local function toggle_run_panel(is_debug) local contest_config = config.contests[state.platform] local compile_result = execute_module.compile_problem(ctx, contest_config, is_debug) if compile_result.success then - test_module.run_all_test_cases(ctx, contest_config, config) + run.run_all_test_cases(ctx, contest_config, config) else - test_module.handle_compilation_failure(compile_result.stderr) + run.handle_compilation_failure(compile_result.stderr) end refresh_run_panel() @@ -550,7 +550,7 @@ local function toggle_run_panel(is_debug) state.run_panel_active = true state.test_buffers = test_buffers state.test_windows = test_windows - local test_state = test_module.get_run_panel_state() + local test_state = run.get_run_panel_state() logger.log(string.format('test panel opened (%d test cases)', #test_state.test_cases)) end diff --git a/lua/cp/test.lua b/lua/cp/run.lua similarity index 100% rename from lua/cp/test.lua rename to lua/cp/run.lua diff --git a/lua/cp/test_render.lua b/lua/cp/run_render.lua similarity index 100% rename from lua/cp/test_render.lua rename to lua/cp/run_render.lua diff --git a/spec/test_render_spec.lua b/spec/test_render_spec.lua index 96719c0..ee42ba3 100644 --- a/spec/test_render_spec.lua +++ b/spec/test_render_spec.lua @@ -1,52 +1,52 @@ describe('cp.test_render', function() - local test_render = require('cp.test_render') + local run_render = require('cp.run_render') describe('get_status_info', function() it('returns AC for pass status', function() local test_case = { status = 'pass' } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('AC', result.text) assert.equals('CpTestAC', result.highlight_group) end) it('returns WA for fail status with normal exit codes', function() local test_case = { status = 'fail', code = 1 } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('WA', result.text) assert.equals('CpTestWA', result.highlight_group) end) it('returns TLE for timeout status', function() local test_case = { status = 'timeout' } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('TLE', result.text) assert.equals('CpTestTLE', result.highlight_group) end) it('returns TLE for timed out fail status', function() local test_case = { status = 'fail', timed_out = true } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('TLE', result.text) assert.equals('CpTestTLE', result.highlight_group) end) it('returns RTE for fail with signal codes (>= 128)', function() local test_case = { status = 'fail', code = 139 } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('RTE', result.text) assert.equals('CpTestRTE', result.highlight_group) end) it('returns empty for pending status', function() local test_case = { status = 'pending' } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('', result.text) assert.equals('CpTestPending', result.highlight_group) end) it('returns running indicator for running status', function() local test_case = { status = 'running' } - local result = test_render.get_status_info(test_case) + local result = run_render.get_status_info(test_case) assert.equals('...', result.text) assert.equals('CpTestPending', result.highlight_group) end) @@ -61,7 +61,7 @@ describe('cp.test_render', function() }, current_index = 1, } - local result = test_render.render_test_list(test_state) + local result = run_render.render_test_list(test_state) assert.is_true(result[1]:find('^┌') ~= nil) assert.is_true(result[2]:find('│.*#.*│.*Status.*│.*Time.*│.*Exit Code.*│') ~= nil) assert.is_true(result[3]:find('^├') ~= nil) @@ -75,7 +75,7 @@ describe('cp.test_render', function() }, current_index = 2, } - local result = test_render.render_test_list(test_state) + local result = run_render.render_test_list(test_state) local found_current = false for _, line in ipairs(result) do if line:match('│.*> 2.*│') then @@ -94,7 +94,7 @@ describe('cp.test_render', function() }, current_index = 1, } - local result = test_render.render_test_list(test_state) + local result = run_render.render_test_list(test_state) local found_input = false for _, line in ipairs(result) do if line:match('│5 3') then @@ -107,7 +107,7 @@ describe('cp.test_render', function() it('handles empty test cases', function() local test_state = { test_cases = {}, current_index = 1 } - local result = test_render.render_test_list(test_state) + local result = run_render.render_test_list(test_state) assert.equals(3, #result) end) @@ -118,7 +118,7 @@ describe('cp.test_render', function() }, current_index = 1, } - local result = test_render.render_test_list(test_state) + local result = run_render.render_test_list(test_state) local input_lines = {} for _, line in ipairs(result) do if line:match('^│[531]') then @@ -132,24 +132,24 @@ describe('cp.test_render', function() describe('render_status_bar', function() it('formats time and exit code', function() local test_case = { time_ms = 45.7, code = 0 } - local result = test_render.render_status_bar(test_case) + local result = run_render.render_status_bar(test_case) assert.equals('45.70ms │ Exit: 0', result) end) it('handles missing time', function() local test_case = { code = 0 } - local result = test_render.render_status_bar(test_case) + local result = run_render.render_status_bar(test_case) assert.equals('Exit: 0', result) end) it('handles missing exit code', function() local test_case = { time_ms = 123 } - local result = test_render.render_status_bar(test_case) + local result = run_render.render_status_bar(test_case) assert.equals('123.00ms', result) end) it('returns empty for nil test case', function() - local result = test_render.render_status_bar(nil) + local result = run_render.render_status_bar(nil) assert.equals('', result) end) end) @@ -157,7 +157,7 @@ describe('cp.test_render', function() describe('setup_highlights', function() it('sets up all highlight groups', function() local mock_set_hl = spy.on(vim.api, 'nvim_set_hl') - test_render.setup_highlights() + run_render.setup_highlights() assert.spy(mock_set_hl).was_called(7) assert.spy(mock_set_hl).was_called_with(0, 'CpTestAC', { fg = '#10b981' }) @@ -178,7 +178,7 @@ describe('cp.test_render', function() }, current_index = 1, } - local lines, highlights = test_render.render_test_list(test_state) + local lines, highlights = run_render.render_test_list(test_state) assert.equals(2, #highlights)