| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { expect } from 'chai'
- import HumanReadableLogs from '../../../../frontend/js/ide/human-readable-logs/HumanReadableLogs'
- import { readFile } from 'fs/promises'
- import { join } from 'path'
- import { some } from 'lodash'
- const fixturePath = '../../helpers/fixtures/logs/'
- async function parse(fixtureName) {
- const filePath = join(__dirname, fixturePath, fixtureName)
- const data = await readFile(filePath, 'utf-8', 'r')
- return HumanReadableLogs.parse(data)
- }
- describe('HumanReadableLogs', function () {
- describe('Undefined commands', function () {
- before(async function () {
- this.errors = (await parse('undefined-control-sequence.log')).errors
- })
- describe('For unknown commands', function () {
- it('Identifies command at beginning of line', function () {
- expect(
- some(this.errors, {
- line: 3,
- level: 'error',
- message: 'Undefined control sequence.',
- })
- ).to.be.true
- })
- it('Identifies command at end of line', function () {
- expect(
- some(this.errors, {
- line: 4,
- level: 'error',
- message: 'Undefined control sequence.',
- })
- ).to.be.true
- })
- it('Identifies command inside argument', function () {
- expect(
- some(this.errors, {
- line: 5,
- level: 'error',
- message: 'Undefined control sequence.',
- })
- ).to.be.true
- })
- })
- describe('For known commands', function () {
- it('Identifies command at beginning of line', function () {
- expect(
- some(this.errors, {
- line: 6,
- level: 'error',
- message: 'Is \\usepackage{url} missing?',
- })
- ).to.be.true
- })
- it('Identifies command at end of line', function () {
- expect(
- some(this.errors, {
- line: 7,
- level: 'error',
- message: 'Is \\usepackage{amsmath} missing?',
- })
- ).to.be.true
- })
- it('Identifies command inside argument', function () {
- expect(
- some(this.errors, {
- line: 8,
- level: 'error',
- message: 'Is \\usepackage{array} missing?',
- })
- ).to.be.true
- })
- })
- })
- })
|