@@ -55,22 +55,22 @@ describeWithEnvironment('AgentProject', () => {
5555 it ( 'can read files' , async ( ) => {
5656 const { project} = await mockProject ( ) ;
5757
58- assert . deepEqual ( project . readFile ( 'index.html' ) , 'content' ) ;
58+ assert . deepEqual ( await project . readFile ( 'index.html' ) , 'content' ) ;
5959 } ) ;
6060
6161 it ( 'can report processed files' , async ( ) => {
6262 const { project} = await mockProject ( ) ;
6363 assert . deepEqual ( project . getProcessedFiles ( ) , [ ] ) ;
64- project . readFile ( 'index.html' ) ;
64+ await project . readFile ( 'index.html' ) ;
6565 assert . deepEqual ( project . getProcessedFiles ( ) , [ 'index.html' ] ) ;
6666 } ) ;
6767
6868 describe ( 'write file' , ( ) => {
6969 describe ( 'full' , ( ) => {
7070 it ( 'can write files files' , async ( ) => {
7171 const { project} = await mockProject ( ) ;
72- project . writeFile ( 'index.html' , 'updated' ) ;
73- assert . deepEqual ( project . readFile ( 'index.html' ) , 'updated' ) ;
72+ await project . writeFile ( 'index.html' , 'updated' ) ;
73+ assert . deepEqual ( await project . readFile ( 'index.html' ) , 'updated' ) ;
7474 } ) ;
7575 } ) ;
7676
8686+updated
8787\`\`\`\`\`` ;
8888
89- project . writeFile ( 'index.html' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
90- assert . deepEqual ( project . readFile ( 'index.html' ) , 'updated' ) ;
89+ await project . writeFile ( 'index.html' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
90+ assert . deepEqual ( await project . readFile ( 'index.html' ) , 'updated' ) ;
9191 } ) ;
9292
9393 it ( 'can write files with multiple changes' , async ( ) => {
115115+LineUpdated:4
116116\`\`\`\`\`` ;
117117
118- project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
119- assert . deepEqual ( project . readFile ( 'index.css' ) , `LineUpdated:1
118+ await project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
119+ assert . deepEqual ( await project . readFile ( 'index.css' ) , `LineUpdated:1
120120Line:2
121121Line:3
122122LineUpdated:4
141141+Line:4
142142\`\`\`\`\`` ;
143143
144- project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
145- assert . deepEqual ( project . readFile ( 'index.css' ) , `Line:1
144+ await project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
145+ assert . deepEqual ( await project . readFile ( 'index.css' ) , `Line:1
146146Line:4` ) ;
147147 } ) ;
148148
169169+LineUpdated:1.5
170170\`\`\`\`\`` ;
171171
172- project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
173- assert . deepEqual ( project . readFile ( 'index.css' ) , `LineUpdated:1
172+ await project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
173+ assert . deepEqual ( await project . readFile ( 'index.css' ) , `LineUpdated:1
174174LineUpdated:1.5
175175Line:2
176176Line:3
201201 Line:3
202202\`\`\`\`\`` ;
203203
204- project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
205- assert . deepEqual ( project . readFile ( 'index.css' ) , `Line:1
204+ await project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
205+ assert . deepEqual ( await project . readFile ( 'index.css' ) , `Line:1
206206Line:3
207207Line:4
208208Line:5` ) ;
225225-Line:1
226226\`\`\`\`\`` ;
227227
228- project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
229- assert . deepEqual ( project . readFile ( 'index.css' ) , '' ) ;
228+ await project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
229+ assert . deepEqual ( await project . readFile ( 'index.css' ) , '' ) ;
230230 } ) ;
231231
232232 it ( 'can write files with first line next to @@' , async ( ) => {
251251 Line:3
252252\`\`\`\`\`` ;
253253
254- project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
255- assert . deepEqual ( project . readFile ( 'index.css' ) , `Line:3
254+ await project . writeFile ( 'index.css' , unifiedDiff , AiAssistanceModel . ReplaceStrategy . UNIFIED_DIFF ) ;
255+ assert . deepEqual ( await project . readFile ( 'index.css' ) , `Line:3
256256Line:4
257257Line:5` ) ;
258258 } ) ;
@@ -271,12 +271,15 @@ Line:5`);
271271 maxLinesChanged : 10 ,
272272 } ) ;
273273
274- project . writeFile ( 'index.html' , 'updated' ) ;
275- expect ( ( ) => {
276- project . writeFile ( 'example2.js' , 'updated2' ) ;
277- } ) . throws ( 'Too many files changed' ) ;
278- assert . deepEqual ( project . readFile ( 'index.html' ) , 'updated' ) ;
279- assert . deepEqual ( project . readFile ( 'example2.js' ) , 'content' ) ;
274+ await project . writeFile ( 'index.html' , 'updated' ) ;
275+ try {
276+ await project . writeFile ( 'example2.js' , 'updated2' ) ;
277+ expect . fail ( 'did not throw' ) ;
278+ } catch ( err ) {
279+ expect ( err . message ) . to . eq ( 'Too many files changed' ) ;
280+ }
281+ assert . deepEqual ( await project . readFile ( 'index.html' ) , 'updated' ) ;
282+ assert . deepEqual ( await project . readFile ( 'example2.js' ) , 'content' ) ;
280283 } ) ;
281284
282285 it ( 'cannot write same file multiple times' , async ( ) => {
@@ -285,9 +288,9 @@ Line:5`);
285288 maxLinesChanged : 10 ,
286289 } ) ;
287290
288- project . writeFile ( 'index.html' , 'updated' ) ;
289- project . writeFile ( 'index.html' , 'updated2' ) ;
290- assert . deepEqual ( project . readFile ( 'index.html' ) , 'updated2' ) ;
291+ await project . writeFile ( 'index.html' , 'updated' ) ;
292+ await project . writeFile ( 'index.html' , 'updated2' ) ;
293+ assert . deepEqual ( await project . readFile ( 'index.html' ) , 'updated2' ) ;
291294 } ) ;
292295
293296 it ( 'cannot write more lines than allowed' , async ( ) => {
@@ -301,10 +304,13 @@ Line:5`);
301304 maxLinesChanged : 1 ,
302305 } ) ;
303306
304- expect ( ( ) => {
305- project . writeFile ( 'example2.js' , 'updated2\nupdated3' ) ;
306- } ) . throws ( 'Too many lines changed' ) ;
307- assert . deepEqual ( project . readFile ( 'example2.js' ) , 'content' ) ;
307+ try {
308+ await project . writeFile ( 'example2.js' , 'updated2\nupdated3' ) ;
309+ expect . fail ( 'did not throw' ) ;
310+ } catch ( err ) {
311+ expect ( err . message ) . to . eq ( 'Too many lines changed' ) ;
312+ }
313+ assert . deepEqual ( await project . readFile ( 'example2.js' ) , 'content' ) ;
308314 } ) ;
309315 } ) ;
310316} ) ;
0 commit comments