@@ -299,6 +299,133 @@ ruleTester.run("no-useless-rename", rule, {
299299code :"export {foo as foo, bar as bar} from 'foo';" ,
300300output :"export {foo, bar} from 'foo';" ,
301301errors :[ "Export foo unnecessarily renamed." , "Export bar unnecessarily renamed." ]
302+ } ,
303+
304+ // Should not autofix if it would remove comments
305+ {
306+ code :"({/* comment */foo: foo} = {});" ,
307+ output :"({/* comment */foo} = {});" ,
308+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
309+ } ,
310+ {
311+ code :"({foo, /* comment */bar: bar} = {});" ,
312+ output :"({foo, /* comment */bar} = {});" ,
313+ errors :[ "Destructuring assignment bar unnecessarily renamed." ]
314+ } ,
315+ {
316+ code :"({foo/**/ : foo} = {});" ,
317+ output :null ,
318+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
319+ } ,
320+ {
321+ code :"({foo /**/: foo} = {});" ,
322+ output :null ,
323+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
324+ } ,
325+ {
326+ code :"({foo://\nfoo} = {});" ,
327+ output :null ,
328+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
329+ } ,
330+ {
331+ code :"({foo: /**/foo} = {});" ,
332+ output :null ,
333+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
334+ } ,
335+ {
336+ code :"({foo: foo/* comment */} = {});" ,
337+ output :"({foo/* comment */} = {});" ,
338+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
339+ } ,
340+ {
341+ code :"({foo: foo//comment\n,bar} = {});" ,
342+ output :"({foo//comment\n,bar} = {});" ,
343+ errors :[ "Destructuring assignment foo unnecessarily renamed." ]
344+ } ,
345+ {
346+ code :"import {/* comment */foo as foo} from 'foo';" ,
347+ output :"import {/* comment */foo} from 'foo';" ,
348+ errors :[ "Import foo unnecessarily renamed." ]
349+ } ,
350+ {
351+ code :"import {foo,/* comment */bar as bar} from 'foo';" ,
352+ output :"import {foo,/* comment */bar} from 'foo';" ,
353+ errors :[ "Import bar unnecessarily renamed." ]
354+ } ,
355+ {
356+ code :"import {foo/**/ as foo} from 'foo';" ,
357+ output :null ,
358+ errors :[ "Import foo unnecessarily renamed." ]
359+ } ,
360+ {
361+ code :"import {foo /**/as foo} from 'foo';" ,
362+ output :null ,
363+ errors :[ "Import foo unnecessarily renamed." ]
364+ } ,
365+ {
366+ code :"import {foo //\nas foo} from 'foo';" ,
367+ output :null ,
368+ errors :[ "Import foo unnecessarily renamed." ]
369+ } ,
370+ {
371+ code :"import {foo as/**/foo} from 'foo';" ,
372+ output :null ,
373+ errors :[ "Import foo unnecessarily renamed." ]
374+ } ,
375+ {
376+ code :"import {foo as foo/* comment */} from 'foo';" ,
377+ output :"import {foo/* comment */} from 'foo';" ,
378+ errors :[ "Import foo unnecessarily renamed." ]
379+ } ,
380+ {
381+ code :"import {foo as foo/* comment */,bar} from 'foo';" ,
382+ output :"import {foo/* comment */,bar} from 'foo';" ,
383+ errors :[ "Import foo unnecessarily renamed." ]
384+ } ,
385+ {
386+ code :"let foo; export {/* comment */foo as foo};" ,
387+ output :"let foo; export {/* comment */foo};" ,
388+ errors :[ "Export foo unnecessarily renamed." ]
389+ } ,
390+ {
391+ code :"let foo, bar; export {foo,/* comment */bar as bar};" ,
392+ output :"let foo, bar; export {foo,/* comment */bar};" ,
393+ errors :[ "Export bar unnecessarily renamed." ]
394+ } ,
395+ {
396+ code :"let foo; export {foo/**/as foo};" ,
397+ output :null ,
398+ errors :[ "Export foo unnecessarily renamed." ]
399+ } ,
400+ {
401+ code :"let foo; export {foo as/**/ foo};" ,
402+ output :null ,
403+ errors :[ "Export foo unnecessarily renamed." ]
404+ } ,
405+ {
406+ code :"let foo; export {foo as /**/foo};" ,
407+ output :null ,
408+ errors :[ "Export foo unnecessarily renamed." ]
409+ } ,
410+ {
411+ code :"let foo; export {foo as//comment\n foo};" ,
412+ output :null ,
413+ errors :[ "Export foo unnecessarily renamed." ]
414+ } ,
415+ {
416+ code :"let foo; export {foo as foo/* comment*/};" ,
417+ output :"let foo; export {foo/* comment*/};" ,
418+ errors :[ "Export foo unnecessarily renamed." ]
419+ } ,
420+ {
421+ code :"let foo, bar; export {foo as foo/* comment*/,bar};" ,
422+ output :"let foo, bar; export {foo/* comment*/,bar};" ,
423+ errors :[ "Export foo unnecessarily renamed." ]
424+ } ,
425+ {
426+ code :"let foo, bar; export {foo as foo//comment\n,bar};" ,
427+ output :"let foo, bar; export {foo//comment\n,bar};" ,
428+ errors :[ "Export foo unnecessarily renamed." ]
302429}
303430]
304431} ) ;