fix(ci): format tests
This commit is contained in:
parent
6673713eb1
commit
62fda4490c
10 changed files with 136 additions and 260 deletions
|
|
@ -36,7 +36,7 @@ describe('cp.cache', function()
|
|||
it('stores and retrieves contest data', function()
|
||||
local problems = {
|
||||
{ id = 'A', name = 'First Problem' },
|
||||
{ id = 'B', name = 'Second Problem' }
|
||||
{ id = 'B', name = 'Second Problem' },
|
||||
}
|
||||
|
||||
cache.set_contest_data('codeforces', 'test_contest', problems)
|
||||
|
|
@ -77,7 +77,7 @@ describe('cp.cache', function()
|
|||
it('stores and retrieves test cases', function()
|
||||
local test_cases = {
|
||||
{ index = 1, input = '1 2', expected = '3' },
|
||||
{ index = 2, input = '4 5', expected = '9' }
|
||||
{ index = 2, input = '4 5', expected = '9' },
|
||||
}
|
||||
|
||||
cache.set_test_cases('atcoder', 'test_contest', 'A', test_cases)
|
||||
|
|
@ -105,4 +105,4 @@ describe('cp.cache', function()
|
|||
assert.is_nil(result)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -7,57 +7,42 @@ describe('cp command parsing', function()
|
|||
end)
|
||||
|
||||
describe('contest commands', function()
|
||||
it('parses contest selection command', function()
|
||||
end)
|
||||
it('parses contest selection command', function() end)
|
||||
|
||||
it('validates contest parameters', function()
|
||||
end)
|
||||
it('validates contest parameters', function() end)
|
||||
|
||||
it('handles invalid contest names', function()
|
||||
end)
|
||||
it('handles invalid contest names', function() end)
|
||||
end)
|
||||
|
||||
describe('problem commands', function()
|
||||
it('parses problem selection command', function()
|
||||
end)
|
||||
it('parses problem selection command', function() end)
|
||||
|
||||
it('handles problem identifiers correctly', function()
|
||||
end)
|
||||
it('handles problem identifiers correctly', function() end)
|
||||
|
||||
it('validates problem parameters', function()
|
||||
end)
|
||||
it('validates problem parameters', function() end)
|
||||
end)
|
||||
|
||||
describe('scraping commands', function()
|
||||
it('parses scrape command with platform', function()
|
||||
end)
|
||||
it('parses scrape command with platform', function() end)
|
||||
|
||||
it('handles platform-specific parameters', function()
|
||||
end)
|
||||
it('handles platform-specific parameters', function() end)
|
||||
|
||||
it('validates scraper availability', function()
|
||||
end)
|
||||
it('validates scraper availability', function() end)
|
||||
end)
|
||||
|
||||
describe('test commands', function()
|
||||
it('parses test execution command', function()
|
||||
end)
|
||||
it('parses test execution command', function() end)
|
||||
|
||||
it('handles test navigation commands', function()
|
||||
end)
|
||||
it('handles test navigation commands', function() end)
|
||||
|
||||
it('parses test panel commands', function()
|
||||
end)
|
||||
it('parses test panel commands', function() end)
|
||||
end)
|
||||
|
||||
describe('error handling', function()
|
||||
it('handles malformed commands gracefully', function()
|
||||
end)
|
||||
it('handles malformed commands gracefully', function() end)
|
||||
|
||||
it('provides helpful error messages', function()
|
||||
end)
|
||||
it('provides helpful error messages', function() end)
|
||||
|
||||
it('suggests corrections for typos', function()
|
||||
end)
|
||||
it('suggests corrections for typos', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -86,4 +86,4 @@ describe('cp.config', function()
|
|||
assert.equals('abc123a', result)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -6,60 +6,44 @@ describe('cp.execute', function()
|
|||
end)
|
||||
|
||||
describe('compilation', function()
|
||||
it('compiles cpp files correctly', function()
|
||||
end)
|
||||
it('compiles cpp files correctly', function() end)
|
||||
|
||||
it('handles compilation errors gracefully', function()
|
||||
end)
|
||||
it('handles compilation errors gracefully', function() end)
|
||||
|
||||
it('uses correct compiler flags', function()
|
||||
end)
|
||||
it('uses correct compiler flags', function() end)
|
||||
end)
|
||||
|
||||
describe('test execution', function()
|
||||
it('runs tests against sample input', function()
|
||||
end)
|
||||
it('runs tests against sample input', function() end)
|
||||
|
||||
it('captures program output correctly', function()
|
||||
end)
|
||||
it('captures program output correctly', function() end)
|
||||
|
||||
it('handles execution timeouts', function()
|
||||
end)
|
||||
it('handles execution timeouts', function() end)
|
||||
|
||||
it('detects runtime errors', function()
|
||||
end)
|
||||
it('detects runtime errors', function() end)
|
||||
end)
|
||||
|
||||
describe('result comparison', function()
|
||||
it('compares output with expected results', function()
|
||||
end)
|
||||
it('compares output with expected results', function() end)
|
||||
|
||||
it('handles whitespace differences correctly', function()
|
||||
end)
|
||||
it('handles whitespace differences correctly', function() end)
|
||||
|
||||
it('reports differences clearly', function()
|
||||
end)
|
||||
it('reports differences clearly', function() end)
|
||||
end)
|
||||
|
||||
describe('debug mode execution', function()
|
||||
it('runs programs with debug flags', function()
|
||||
end)
|
||||
it('runs programs with debug flags', function() end)
|
||||
|
||||
it('provides debugging information', function()
|
||||
end)
|
||||
it('provides debugging information', function() end)
|
||||
|
||||
it('handles debug mode timeouts', function()
|
||||
end)
|
||||
it('handles debug mode timeouts', function() end)
|
||||
end)
|
||||
|
||||
describe('batch execution', function()
|
||||
it('runs multiple test cases sequentially', function()
|
||||
end)
|
||||
it('runs multiple test cases sequentially', function() end)
|
||||
|
||||
it('reports aggregate results', function()
|
||||
end)
|
||||
it('reports aggregate results', function() end)
|
||||
|
||||
it('stops on first failure when configured', function()
|
||||
end)
|
||||
it('stops on first failure when configured', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -6,46 +6,34 @@ describe('cp.health', function()
|
|||
end)
|
||||
|
||||
describe('dependency checks', function()
|
||||
it('checks for python availability', function()
|
||||
end)
|
||||
it('checks for python availability', function() end)
|
||||
|
||||
it('validates scraper dependencies', function()
|
||||
end)
|
||||
it('validates scraper dependencies', function() end)
|
||||
|
||||
it('checks uv installation', function()
|
||||
end)
|
||||
it('checks uv installation', function() end)
|
||||
end)
|
||||
|
||||
describe('scraper validation', function()
|
||||
it('validates codeforces scraper', function()
|
||||
end)
|
||||
it('validates codeforces scraper', function() end)
|
||||
|
||||
it('validates atcoder scraper', function()
|
||||
end)
|
||||
it('validates atcoder scraper', function() end)
|
||||
|
||||
it('validates cses scraper', function()
|
||||
end)
|
||||
it('validates cses scraper', function() end)
|
||||
end)
|
||||
|
||||
describe('configuration validation', function()
|
||||
it('checks config file validity', function()
|
||||
end)
|
||||
it('checks config file validity', function() end)
|
||||
|
||||
it('validates language configurations', function()
|
||||
end)
|
||||
it('validates language configurations', function() end)
|
||||
|
||||
it('checks snippet configurations', function()
|
||||
end)
|
||||
it('checks snippet configurations', function() end)
|
||||
end)
|
||||
|
||||
describe('system checks', function()
|
||||
it('checks file permissions', function()
|
||||
end)
|
||||
it('checks file permissions', function() end)
|
||||
|
||||
it('validates cache directory access', function()
|
||||
end)
|
||||
it('validates cache directory access', function() end)
|
||||
|
||||
it('checks network connectivity', function()
|
||||
end)
|
||||
it('checks network connectivity', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -7,68 +7,50 @@ describe('cp integration', function()
|
|||
end)
|
||||
|
||||
describe('full workflow', function()
|
||||
it('handles complete contest setup workflow', function()
|
||||
end)
|
||||
it('handles complete contest setup workflow', function() end)
|
||||
|
||||
it('integrates scraping with problem creation', function()
|
||||
end)
|
||||
it('integrates scraping with problem creation', function() end)
|
||||
|
||||
it('coordinates between modules correctly', function()
|
||||
end)
|
||||
it('coordinates between modules correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('scraper integration', function()
|
||||
it('integrates with python scrapers correctly', function()
|
||||
end)
|
||||
it('integrates with python scrapers correctly', function() end)
|
||||
|
||||
it('handles scraper communication properly', function()
|
||||
end)
|
||||
it('handles scraper communication properly', function() end)
|
||||
|
||||
it('processes scraper output correctly', function()
|
||||
end)
|
||||
it('processes scraper output correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('buffer coordination', function()
|
||||
it('manages multiple buffers correctly', function()
|
||||
end)
|
||||
it('manages multiple buffers correctly', function() end)
|
||||
|
||||
it('coordinates window layouts properly', function()
|
||||
end)
|
||||
it('coordinates window layouts properly', function() end)
|
||||
|
||||
it('handles buffer state consistency', function()
|
||||
end)
|
||||
it('handles buffer state consistency', function() end)
|
||||
end)
|
||||
|
||||
describe('cache and persistence', function()
|
||||
it('maintains data consistency across sessions', function()
|
||||
end)
|
||||
it('maintains data consistency across sessions', function() end)
|
||||
|
||||
it('handles concurrent access properly', function()
|
||||
end)
|
||||
it('handles concurrent access properly', function() end)
|
||||
|
||||
it('recovers from interrupted operations', function()
|
||||
end)
|
||||
it('recovers from interrupted operations', function() end)
|
||||
end)
|
||||
|
||||
describe('error propagation', function()
|
||||
it('handles errors across module boundaries', function()
|
||||
end)
|
||||
it('handles errors across module boundaries', function() end)
|
||||
|
||||
it('provides coherent error messages', function()
|
||||
end)
|
||||
it('provides coherent error messages', function() end)
|
||||
|
||||
it('maintains system stability on errors', function()
|
||||
end)
|
||||
it('maintains system stability on errors', function() end)
|
||||
end)
|
||||
|
||||
describe('performance', function()
|
||||
it('handles large contest data efficiently', function()
|
||||
end)
|
||||
it('handles large contest data efficiently', function() end)
|
||||
|
||||
it('manages memory usage appropriately', function()
|
||||
end)
|
||||
it('manages memory usage appropriately', function() end)
|
||||
|
||||
it('maintains responsiveness during operations', function()
|
||||
end)
|
||||
it('maintains responsiveness during operations', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -6,46 +6,34 @@ describe('cp.problem', function()
|
|||
end)
|
||||
|
||||
describe('problem creation', function()
|
||||
it('creates problem files with correct naming', function()
|
||||
end)
|
||||
it('creates problem files with correct naming', function() end)
|
||||
|
||||
it('applies language-specific templates', function()
|
||||
end)
|
||||
it('applies language-specific templates', function() end)
|
||||
|
||||
it('sets up directory structure correctly', function()
|
||||
end)
|
||||
it('sets up directory structure correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('problem metadata', function()
|
||||
it('extracts problem information correctly', function()
|
||||
end)
|
||||
it('extracts problem information correctly', function() end)
|
||||
|
||||
it('handles missing metadata gracefully', function()
|
||||
end)
|
||||
it('handles missing metadata gracefully', function() end)
|
||||
|
||||
it('validates problem identifiers', function()
|
||||
end)
|
||||
it('validates problem identifiers', function() end)
|
||||
end)
|
||||
|
||||
describe('file management', function()
|
||||
it('creates solution files in correct locations', function()
|
||||
end)
|
||||
it('creates solution files in correct locations', function() end)
|
||||
|
||||
it('handles existing files appropriately', function()
|
||||
end)
|
||||
it('handles existing files appropriately', function() end)
|
||||
|
||||
it('manages backup files correctly', function()
|
||||
end)
|
||||
it('manages backup files correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('buffer setup', function()
|
||||
it('opens problem files in appropriate buffers', function()
|
||||
end)
|
||||
it('opens problem files in appropriate buffers', function() end)
|
||||
|
||||
it('sets correct buffer options', function()
|
||||
end)
|
||||
it('sets correct buffer options', function() end)
|
||||
|
||||
it('applies filetype-specific settings', function()
|
||||
end)
|
||||
it('applies filetype-specific settings', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -6,69 +6,50 @@ describe('cp.scrape', function()
|
|||
end)
|
||||
|
||||
describe('platform detection', function()
|
||||
it('detects codeforces contests correctly', function()
|
||||
end)
|
||||
it('detects codeforces contests correctly', function() end)
|
||||
|
||||
it('detects atcoder contests correctly', function()
|
||||
end)
|
||||
it('detects atcoder contests correctly', function() end)
|
||||
|
||||
it('detects cses problems correctly', function()
|
||||
end)
|
||||
it('detects cses problems correctly', function() end)
|
||||
|
||||
it('handles invalid contest identifiers', function()
|
||||
end)
|
||||
it('handles invalid contest identifiers', function() end)
|
||||
end)
|
||||
|
||||
describe('metadata scraping', function()
|
||||
it('retrieves contest metadata from scrapers', function()
|
||||
end)
|
||||
it('retrieves contest metadata from scrapers', function() end)
|
||||
|
||||
it('parses problem lists correctly', function()
|
||||
end)
|
||||
it('parses problem lists correctly', function() end)
|
||||
|
||||
it('handles scraper failures gracefully', function()
|
||||
end)
|
||||
it('handles scraper failures gracefully', function() end)
|
||||
|
||||
it('validates scraped data structure', function()
|
||||
end)
|
||||
it('validates scraped data structure', function() end)
|
||||
end)
|
||||
|
||||
describe('test case scraping', function()
|
||||
it('retrieves test cases for problems', function()
|
||||
end)
|
||||
it('retrieves test cases for problems', function() end)
|
||||
|
||||
it('handles missing test cases', function()
|
||||
end)
|
||||
it('handles missing test cases', function() end)
|
||||
|
||||
it('validates test case format', function()
|
||||
end)
|
||||
it('validates test case format', function() end)
|
||||
|
||||
it('processes multiple test cases correctly', function()
|
||||
end)
|
||||
it('processes multiple test cases correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('cache integration', function()
|
||||
it('stores scraped data in cache', function()
|
||||
end)
|
||||
it('stores scraped data in cache', function() end)
|
||||
|
||||
it('retrieves cached data when available', function()
|
||||
end)
|
||||
it('retrieves cached data when available', function() end)
|
||||
|
||||
it('respects cache expiry settings', function()
|
||||
end)
|
||||
it('respects cache expiry settings', function() end)
|
||||
|
||||
it('handles cache invalidation correctly', function()
|
||||
end)
|
||||
it('handles cache invalidation correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('error handling', function()
|
||||
it('handles network connectivity issues', function()
|
||||
end)
|
||||
it('handles network connectivity issues', function() end)
|
||||
|
||||
it('reports scraper execution errors', function()
|
||||
end)
|
||||
it('reports scraper execution errors', function() end)
|
||||
|
||||
it('provides meaningful error messages', function()
|
||||
end)
|
||||
it('provides meaningful error messages', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -6,46 +6,34 @@ describe('cp.snippets', function()
|
|||
end)
|
||||
|
||||
describe('snippet loading', function()
|
||||
it('loads default snippets correctly', function()
|
||||
end)
|
||||
it('loads default snippets correctly', function() end)
|
||||
|
||||
it('loads user snippets from config', function()
|
||||
end)
|
||||
it('loads user snippets from config', function() end)
|
||||
|
||||
it('handles missing snippet files gracefully', function()
|
||||
end)
|
||||
it('handles missing snippet files gracefully', function() end)
|
||||
end)
|
||||
|
||||
describe('snippet expansion', function()
|
||||
it('expands basic templates correctly', function()
|
||||
end)
|
||||
it('expands basic templates correctly', function() end)
|
||||
|
||||
it('handles language-specific snippets', function()
|
||||
end)
|
||||
it('handles language-specific snippets', function() end)
|
||||
|
||||
it('processes snippet placeholders', function()
|
||||
end)
|
||||
it('processes snippet placeholders', function() end)
|
||||
end)
|
||||
|
||||
describe('template generation', function()
|
||||
it('generates cpp templates', function()
|
||||
end)
|
||||
it('generates cpp templates', function() end)
|
||||
|
||||
it('generates python templates', function()
|
||||
end)
|
||||
it('generates python templates', function() end)
|
||||
|
||||
it('applies contest-specific templates', function()
|
||||
end)
|
||||
it('applies contest-specific templates', function() end)
|
||||
end)
|
||||
|
||||
describe('buffer integration', function()
|
||||
it('inserts snippets into current buffer', function()
|
||||
end)
|
||||
it('inserts snippets into current buffer', function() end)
|
||||
|
||||
it('positions cursor correctly after expansion', function()
|
||||
end)
|
||||
it('positions cursor correctly after expansion', function() end)
|
||||
|
||||
it('handles multiple snippet insertions', function()
|
||||
end)
|
||||
it('handles multiple snippet insertions', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -12,72 +12,52 @@ describe('cp test panel', function()
|
|||
end)
|
||||
|
||||
describe('panel creation', function()
|
||||
it('creates test panel buffers', function()
|
||||
end)
|
||||
it('creates test panel buffers', function() end)
|
||||
|
||||
it('sets up correct window layout', function()
|
||||
end)
|
||||
it('sets up correct window layout', function() end)
|
||||
|
||||
it('applies correct buffer settings', function()
|
||||
end)
|
||||
it('applies correct buffer settings', function() end)
|
||||
|
||||
it('sets up keymaps correctly', function()
|
||||
end)
|
||||
it('sets up keymaps correctly', function() end)
|
||||
end)
|
||||
|
||||
describe('test case display', function()
|
||||
it('renders test case tabs correctly', function()
|
||||
end)
|
||||
it('renders test case tabs correctly', function() end)
|
||||
|
||||
it('displays input correctly', function()
|
||||
end)
|
||||
it('displays input correctly', function() end)
|
||||
|
||||
it('displays expected output correctly', function()
|
||||
end)
|
||||
it('displays expected output correctly', function() end)
|
||||
|
||||
it('displays actual output correctly', function()
|
||||
end)
|
||||
it('displays actual output correctly', function() end)
|
||||
|
||||
it('shows diff when test fails', function()
|
||||
end)
|
||||
it('shows diff when test fails', function() end)
|
||||
end)
|
||||
|
||||
describe('navigation', function()
|
||||
it('navigates to next test case', function()
|
||||
end)
|
||||
it('navigates to next test case', function() end)
|
||||
|
||||
it('navigates to previous test case', function()
|
||||
end)
|
||||
it('navigates to previous test case', function() end)
|
||||
|
||||
it('wraps around at boundaries', function()
|
||||
end)
|
||||
it('wraps around at boundaries', function() end)
|
||||
|
||||
it('updates display on navigation', function()
|
||||
end)
|
||||
it('updates display on navigation', function() end)
|
||||
end)
|
||||
|
||||
describe('test execution integration', function()
|
||||
it('compiles and runs tests automatically', function()
|
||||
end)
|
||||
it('compiles and runs tests automatically', function() end)
|
||||
|
||||
it('updates results in real-time', function()
|
||||
end)
|
||||
it('updates results in real-time', function() end)
|
||||
|
||||
it('handles compilation failures', function()
|
||||
end)
|
||||
it('handles compilation failures', function() end)
|
||||
|
||||
it('shows execution time', function()
|
||||
end)
|
||||
it('shows execution time', function() end)
|
||||
end)
|
||||
|
||||
describe('session management', function()
|
||||
it('saves and restores session correctly', function()
|
||||
end)
|
||||
it('saves and restores session correctly', function() end)
|
||||
|
||||
it('handles multiple panels gracefully', function()
|
||||
end)
|
||||
it('handles multiple panels gracefully', function() end)
|
||||
|
||||
it('cleans up resources on close', function()
|
||||
end)
|
||||
it('cleans up resources on close', function() end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue