freeCodeCamp/curriculum/test/utils/extract-js-comments.test.js

36 lines
789 B
JavaScript
Raw Normal View History

const extractJSComments = require('./extract-js-comments');
const someJS = `
// single line comment
/*
a multiline comment
*/
var x = 'y'; // single line comment
var y = '// single line comment';
`;
2021-10-27 14:32:37 +00:00
const someInvalidJS = `const isChange;`;
describe('extractJSComments', () => {
it('should return an object with comment keys and count values', () => {
const commentCounts = {
'single line comment': 2,
'a multiline comment': 1
};
expect(extractJSComments(someJS)).toEqual(commentCounts);
});
2021-10-27 14:32:37 +00:00
it('should throw an informative error if the JS is invalid', () => {
expect(() => extractJSComments(someInvalidJS)).toThrow(
`extract-js-comments could not parse the code below, this challenge has invalid syntax:
2021-10-27 14:32:37 +00:00
${someInvalidJS}
`
);
});
});