@@ -293,4 +293,79 @@ o.spec("bundler", async () => {
293293
294294 o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar b0 = {b: 1}\nvar b = function() {return b0.b}\n}());" )
295295 } )
296+ o . spec ( "fix comments" , ( ) => {
297+ o ( "fix /* */ comments" , async ( ) => {
298+ await setup ( {
299+ "a.js" : 'var b = require("./b")\nvar c = require("./c")' ,
300+ "b.js" : "var a = 1\nmodule.exports = a" ,
301+ "c.js" : "var a = 2\n/* a */\nmodule.exports = a" ,
302+ } )
303+
304+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar a = 1\nvar b = a\nvar a0 = 2\n/* a */\nvar c = a0\n}());" )
305+ } )
306+ o ( "fix // comments" , async ( ) => {
307+ await setup ( {
308+ "a.js" : 'var b = require("./b")\nvar c = require("./c")' ,
309+ "b.js" : "var a = 1\nmodule.exports = a" ,
310+ "c.js" : "var a = 2\n// a\nmodule.exports = a" ,
311+ } )
312+
313+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar a = 1\nvar b = a\nvar a0 = 2\n// a\nvar c = a0\n}());" )
314+ } )
315+ o ( "fix multi-line /* */ comments" , async ( ) => {
316+ await setup ( {
317+ "a.js" : 'var b = require("./b")\nvar c = require("./c")' ,
318+ "b.js" : "var a = 1\nmodule.exports = a" ,
319+ "c.js" : "var a = 2\n/* \na */\nmodule.exports = a" ,
320+ } )
321+
322+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar a = 1\nvar b = a\nvar a0 = 2\n/* \na */\nvar c = a0\n}());" )
323+ } )
324+ o ( "does not fix trailing /* */ comments" , async ( ) => {
325+ await setup ( {
326+ "a.js" : 'var b = require("./b")\nvar c = require("./c")' ,
327+ "b.js" : "var a = 1\nmodule.exports = a" ,
328+ "c.js" : "var a = 2/* a */\nmodule.exports = a" ,
329+ } )
330+
331+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar a = 1\nvar b = a\nvar a0 = 2/* a0 */\nvar c = a0\n}());" )
332+ } )
333+ o ( "does not fix trailing // comments" , async ( ) => {
334+ await setup ( {
335+ "a.js" : 'var b = require("./b")\nvar c = require("./c")' ,
336+ "b.js" : "var a = 1\nmodule.exports = a" ,
337+ "c.js" : "var a = 2// a\nmodule.exports = a" ,
338+ } )
339+
340+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar a = 1\nvar b = a\nvar a0 = 2// a0\nvar c = a0\n}());" )
341+ } )
342+ o ( "does not fix trailing multi-line /* */ comments" , async ( ) => {
343+ await setup ( {
344+ "a.js" : 'var b = require("./b")\nvar c = require("./c")' ,
345+ "b.js" : "var a = 1\nmodule.exports = a" ,
346+ "c.js" : "var a = 2/* \na */\nmodule.exports = a" ,
347+ } )
348+
349+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar a = 1\nvar b = a\nvar a0 = 2/* \na0 */\nvar c = a0\n}());" )
350+ } )
351+ } )
352+ o ( "prevents double suffixes (mountRedraw00)" , async ( ) => {
353+ await setup ( {
354+ // /index.js (request(b), mount-redraw(z), route(c))
355+ "a.js" : 'var b = require("./b")\nvar z = require("./z")\nvar c = require("./c")' ,
356+ // /request.js
357+ "b.js" : 'var z = require("./z")\nmodule.exports = require("./p")(z)' ,
358+ // /route.js
359+ "c.js" : 'var z = require("./z")\nmodule.exports = require("./q")(z)' ,
360+ // /request/request.js
361+ "p.js" : "module.exports = function(z){}" ,
362+ // /api/router.js
363+ "q.js" : "module.exports = function(z){}" ,
364+ // /mount-redraw.js
365+ "z.js" : "module.exports = {}" ,
366+ } )
367+
368+ // check that the argument z2 is not z00
369+ o ( await bundle ( p ( "a.js" ) ) ) . equals ( ";(function() {\nvar z0 = {}\nvar _1 = function(z1){}\nvar b = _1(z0)\nvar z = z0\nvar _5 = function(z2){}\nvar c = _5(z)\n}());" )
370+ } )
296371} )
0 commit comments