You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mercury-parser/scripts/check-build.test.js

58 lines
1.8 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/* eslint-disable global-require, no-undef */
import assert from 'assert';
import cheerio from 'cheerio';
let urls = [
{
url: 'https://bordeltabernacle.github.io/2016/01/04/notes-on-elixir-pattern-matching-maps.html',
title: 'Notes on Elixir: Pattern-Matching Maps',
},
{
url: 'http://www.cnn.com/2016/11/05/middleeast/iraq-mosul-isis-offensive/',
title: 'Iraqi troops storm town south of Mosul',
},
{
url: 'https://www.washingtonpost.com/news/post-nation/wp/2016/11/05/a-vile-and-disgusting-act-officer-accused-of-giving-fecal-sandwich-to-homeless-man-is-fired/',
title: 'A vile and disgusting act: Officer accused of giving fecal sandwich to homeless man is fired',
},
];
// don't run this on CI b/c we want to avoid network requests
if (process.env.CI) {
describe('Tests', () => {
it('do not run because this is CI and we do not want network requests', () => {
assert.equal(true, true);
});
});
} else {
if (cheerio.browser) {
require('../dist/mercury.web');
}
const Merc = typeof Mercury === 'undefined' ? require('../dist/mercury') : Mercury;
describe('Is Mercury build working', () => {
beforeAll(() => {
if (Merc.browser) {
const proxyUrl = 'http://localhost:3000/';
urls = urls.map(article => ({
title: article.title,
url: proxyUrl + article.url,
}));
}
});
urls.map(article =>
it(`gets this title right ${article.title}`, (done) => {
Merc.parse(article.url).then((result) => {
assert.equal(article.title, result.title);
done();
}).catch((e) => {
console.log('THIS WENT WRONG', e); // eslint-disable-line no-console
assert.equal(true, false);
done();
});
})
);
});
}