@@ -196,6 +196,88 @@ test.serial("Serve application.a, request library resource", async (t) => {
196196 ) ;
197197} ) ;
198198
199+ test . serial . skip ( "Serve library" , async ( t ) => {
200+ const fixtureTester = t . context . fixtureTester = new FixtureTester ( t , "library.d" ) ;
201+
202+ // #1 request with empty cache
203+ await fixtureTester . serveProject ( {
204+ config : {
205+ excludedTasks : [ "minify" ] ,
206+ }
207+ } ) ;
208+ await fixtureTester . requestResource ( {
209+ resource : "/resources/library/d/some.js" ,
210+ assertions : {
211+ projects : {
212+ "library.d" : { }
213+ }
214+ }
215+ } ) ;
216+
217+ // #2 request with cache
218+ await fixtureTester . requestResource ( {
219+ resource : "/resources/library/d/some.js" ,
220+ assertions : {
221+ projects : { }
222+ }
223+ } ) ;
224+
225+ // Change a source file in library.d
226+ const changedFilePath = `${ fixtureTester . fixturePath } /main/src/library/d/some.js` ;
227+ const originalContent = await fs . readFile ( changedFilePath , { encoding : "utf8" } ) ;
228+ await fs . writeFile (
229+ changedFilePath ,
230+ originalContent . replace (
231+ ` */` ,
232+ ` */\n// Test 1`
233+ )
234+ ) ;
235+
236+ await setTimeout ( 500 ) ; // Wait for the file watcher to detect and propagate the change
237+
238+ // #3 request with cache and changes
239+ const resourceContent1 = await fixtureTester . requestResource ( {
240+ resource : "/resources/library/d/some.js" ,
241+ assertions : {
242+ projects : {
243+ "library.d" : {
244+ skippedTasks : [
245+ "buildThemes" ,
246+ "enhanceManifest" ,
247+ "escapeNonAsciiCharacters" ,
248+ "replaceBuildtime" ,
249+ ]
250+ }
251+ }
252+ }
253+ } ) ;
254+
255+ // Check whether the changed file is served
256+ const servedFileContent1 = await resourceContent1 . getString ( ) ;
257+ t . true (
258+ servedFileContent1 . includes ( `Test 1` ) ,
259+ "Resource contains changed file content"
260+ ) ;
261+
262+ // Restore original file content
263+
264+ await fs . writeFile ( changedFilePath , originalContent ) ;
265+
266+ // #4 request with cache (no changes)
267+ const resourceContent2 = await fixtureTester . requestResource ( {
268+ resource : "/resources/library/d/some.js" ,
269+ assertions : {
270+ projects : { }
271+ }
272+ } ) ;
273+
274+ const servedFileContent2 = await resourceContent2 . getString ( ) ;
275+ t . false (
276+ servedFileContent2 . includes ( `Test 1` ) ,
277+ "Resource does not contain changed file content"
278+ ) ;
279+ } ) ;
280+
199281test . serial ( "Serve application.a, request application resource AND library resource" , async ( t ) => {
200282 const fixtureTester = t . context . fixtureTester = new FixtureTester ( t , "application.a" ) ;
201283
0 commit comments