81 lines
2.6 KiB
JavaScript
81 lines
2.6 KiB
JavaScript
/* global expect */
|
|
|
|
const path = require('path');
|
|
|
|
const { parseMarkdown } = require('../tools/challenge-md-parser');
|
|
const { parseTranslation } = require('./getChallenges');
|
|
|
|
/* eslint-disable max-len */
|
|
const {
|
|
SIMPLE_TRANSLATION
|
|
} = require('../tools/challenge-md-parser/translation-parser/__mocks__/mock-comments');
|
|
/* eslint-enable max-len */
|
|
|
|
describe('translation parser', () => {
|
|
it('should combine to the correct object', () => {
|
|
return Promise.all([
|
|
parseMarkdown(path.resolve(__dirname, '__fixtures__/combined.md')),
|
|
parseTranslation(
|
|
path.resolve(__dirname, '__fixtures__/challenge.english.md'),
|
|
path.resolve(__dirname, '__fixtures__/challenge.chinese.md'),
|
|
SIMPLE_TRANSLATION
|
|
)
|
|
]).then(xs => expect(xs[1]).toEqual(xs[0]));
|
|
});
|
|
it('should translate known comments in html', () => {
|
|
return Promise.all([
|
|
parseMarkdown(
|
|
path.resolve(__dirname, '__fixtures__/combined-html-comments.md')
|
|
),
|
|
parseTranslation(
|
|
path.resolve(
|
|
__dirname,
|
|
'__fixtures__/challenge-html-comments.english.md'
|
|
),
|
|
path.resolve(__dirname, '__fixtures__/challenge.chinese.md'),
|
|
SIMPLE_TRANSLATION
|
|
)
|
|
]).then(xs => expect(xs[1]).toEqual(xs[0]));
|
|
});
|
|
it('should translate known comments in jsx', () => {
|
|
return Promise.all([
|
|
parseMarkdown(
|
|
path.resolve(__dirname, '__fixtures__/combined-jsx-comments.md')
|
|
),
|
|
parseTranslation(
|
|
path.resolve(
|
|
__dirname,
|
|
'__fixtures__/challenge-jsx-comments.english.md'
|
|
),
|
|
path.resolve(__dirname, '__fixtures__/challenge.chinese.md'),
|
|
SIMPLE_TRANSLATION
|
|
)
|
|
]).then(xs => expect(xs[1]).toEqual(xs[0]));
|
|
});
|
|
it('should translate known comments in js', () => {
|
|
return Promise.all([
|
|
parseMarkdown(
|
|
path.resolve(__dirname, '__fixtures__/combined-js-comments.md')
|
|
),
|
|
parseTranslation(
|
|
path.resolve(
|
|
__dirname,
|
|
'__fixtures__/challenge-js-comments.english.md'
|
|
),
|
|
path.resolve(__dirname, '__fixtures__/challenge.chinese.md'),
|
|
SIMPLE_TRANSLATION
|
|
)
|
|
]).then(xs => expect(xs[1]).toEqual(xs[0]));
|
|
});
|
|
it('should handle a stripped down challenge', () => {
|
|
return Promise.all([
|
|
parseMarkdown(path.resolve(__dirname, '__fixtures__/combined.md')),
|
|
parseTranslation(
|
|
path.resolve(__dirname, '__fixtures__/challenge.english.md'),
|
|
path.resolve(__dirname, '__fixtures__/challenge-stripped.chinese.md'),
|
|
SIMPLE_TRANSLATION
|
|
)
|
|
]).then(xs => expect(xs[1]).toEqual(xs[0]));
|
|
});
|
|
});
|