77 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const extractScriptJSComments = require('./extract-script-js-comments');
 | 
						|
 | 
						|
const inlineComments = `<body>
 | 
						|
Some text
 | 
						|
<script>
 | 
						|
 | 
						|
// comment 1
 | 
						|
 | 
						|
var x = 'y';
 | 
						|
 | 
						|
// comment 2
 | 
						|
 | 
						|
// comment 1
 | 
						|
 | 
						|
</script>
 | 
						|
</body>
 | 
						|
`;
 | 
						|
 | 
						|
const multilineComments = `<body>
 | 
						|
Some text
 | 
						|
<script>
 | 
						|
 | 
						|
/*
 | 
						|
comment 1
 | 
						|
*/
 | 
						|
var x = 'y';
 | 
						|
 | 
						|
/* comment 2 */
 | 
						|
 | 
						|
/* comment 1 */
 | 
						|
 | 
						|
</script>
 | 
						|
</body>
 | 
						|
`;
 | 
						|
 | 
						|
const outsideScript = `<body>
 | 
						|
Some text
 | 
						|
<script>
 | 
						|
 | 
						|
// comment 1
 | 
						|
 | 
						|
var x = 'y';
 | 
						|
 | 
						|
// comment 2
 | 
						|
 | 
						|
// comment 1
 | 
						|
 | 
						|
</script>
 | 
						|
 | 
						|
// comment 2
 | 
						|
</body>
 | 
						|
`;
 | 
						|
 | 
						|
describe('extractScriptJSComments', () => {
 | 
						|
  it('should catch inline comments', () => {
 | 
						|
    const commentCounts = {
 | 
						|
      'comment 1': 2,
 | 
						|
      'comment 2': 1
 | 
						|
    };
 | 
						|
    expect(extractScriptJSComments(inlineComments)).toEqual(commentCounts);
 | 
						|
  });
 | 
						|
  it('should catch multiline comments', () => {
 | 
						|
    const commentCounts = {
 | 
						|
      'comment 1': 2,
 | 
						|
      'comment 2': 1
 | 
						|
    };
 | 
						|
    expect(extractScriptJSComments(multilineComments)).toEqual(commentCounts);
 | 
						|
  });
 | 
						|
  it('should ignore comments outside script tags', () => {
 | 
						|
    const commentCounts = {
 | 
						|
      'comment 1': 2,
 | 
						|
      'comment 2': 1
 | 
						|
    };
 | 
						|
    expect(extractScriptJSComments(outsideScript)).toEqual(commentCounts);
 | 
						|
  });
 | 
						|
});
 |