11import { describe , it , expect } from 'vitest' ;
2- import { extractTodosFromFile } from '../../parser/extractTodos' ; // Ensure this file exists at the specified path
2+ import { extractTodosFromString } from '../../parser/extractTodosFromContent' ;
33import { TodoItem } from '../../parser/types' ;
44
55
66
77describe ( 'extractTodos' , ( ) => {
88 it ( 'extracts simple TODOs with //' , ( ) => {
99 const content = `// TODO: clean this up\nconst a = 1;` ;
10- const todos = extractTodosFromFile ( content ) ;
10+ const todos = extractTodosFromString ( content , '.js' ) ;
1111 expect ( todos . length ) . toBe ( 1 ) ;
1212 expect ( todos [ 0 ] . text ) . toBe ( 'clean this up' ) ;
1313 expect ( todos [ 0 ] . tag ) . toBe ( 'TODO' ) ;
1414 expect ( todos [ 0 ] . line ) . toBe ( 1 ) ;
1515 } ) ;
1616
1717 it ( 'extracts multiple tags' , ( ) => {
18- const content = `// BUG: crashes\n# FIXME: something wrong` ;
19- const todos = extractTodosFromFile ( content ) ;
18+ const content = `# BUG: crashes\n# FIXME: something wrong` ;
19+ const todos = extractTodosFromString ( content , '.py' ) ;
2020 expect ( todos . length ) . toBe ( 2 ) ;
2121 expect ( todos . map ( t => t . tag ) ) . toEqual ( [ 'BUG' , 'FIXME' ] ) ;
2222 } ) ;
2323
2424 it ( 'extracts metadata key=value pairs' , ( ) => {
2525 const content = `// TODO(priority=high, due=2025-06-01): fix it` ;
26- const todos = extractTodosFromFile ( content ) ;
26+ const todos = extractTodosFromString ( content , '.js' ) ;
2727 expect ( todos . length ) . toBe ( 1 ) ;
2828 expect ( todos [ 0 ] . metadata ) . toEqual ( {
2929 priority : 'high' ,
@@ -33,14 +33,14 @@ describe('extractTodos', () => {
3333
3434 it ( 'supports HTML comments' , ( ) => {
3535 const content = `<!-- TODO: fix layout -->` ;
36- const todos = extractTodosFromFile ( content ) ;
36+ const todos = extractTodosFromString ( content , '.html' ) ;
3737 expect ( todos . length ) . toBe ( 1 ) ;
3838 expect ( todos [ 0 ] . tag ) . toBe ( 'TODO' ) ;
3939 } ) ;
4040
4141 it ( 'returns empty list if no TODOs are found' , ( ) => {
4242 const content = `const x = 5; // just a comment` ;
43- const todos = extractTodosFromFile ( content ) ;
43+ const todos = extractTodosFromString ( content , '.js' ) ;
4444 expect ( todos . length ) . toBe ( 0 ) ;
4545 } ) ;
4646} ) ;
0 commit comments