Files
Verso/services/clsi/test/acceptance/js/BrokenLatexFileTests.js
T
d8b0ab9436 [clsi] avoid downloads from compile directory (#23975)
* [clsi] make error copying output files a fatal compile error

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* [clsi] remove unused endpoints for downloading files from compileDir

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* [clsi] avoid useless clone of output files

* [clsi] add test for output files when compile did not produce a PDF

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: cb998b99b4d96cb48ddd70987958f614ad3b40fc
2025-03-03 09:05:04 +00:00

117 lines
2.8 KiB
JavaScript

/* eslint-disable
no-unused-vars,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS102: Remove unnecessary code created because of implicit returns
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const Client = require('./helpers/Client')
const request = require('request')
const ClsiApp = require('./helpers/ClsiApp')
describe('Broken LaTeX file', function () {
before(function (done) {
this.broken_request = {
resources: [
{
path: 'main.tex',
content: `\
\\documentclass{articl % :(
\\begin{documen % :(
Broken
\\end{documen % :(\
`,
},
],
}
this.correct_request = {
resources: [
{
path: 'main.tex',
content: `\
\\documentclass{article}
\\begin{document}
Hello world
\\end{document}\
`,
},
],
}
return ClsiApp.ensureRunning(done)
})
describe('on first run', function () {
before(function (done) {
this.project_id = Client.randomId()
return Client.compile(
this.project_id,
this.broken_request,
(error, res, body) => {
this.error = error
this.res = res
this.body = body
return done()
}
)
})
it('should return a failure status', function () {
return this.body.compile.status.should.equal('failure')
})
it('should return output files', function () {
// NOTE: No output.pdf file.
this.body.compile.outputFiles
.map(f => f.path)
.should.deep.equal([
'output.aux',
'output.fdb_latexmk',
'output.fls',
'output.log',
'output.stderr',
'output.stdout',
])
})
})
return describe('on second run', function () {
before(function (done) {
this.project_id = Client.randomId()
return Client.compile(this.project_id, this.correct_request, () => {
return Client.compile(
this.project_id,
this.broken_request,
(error, res, body) => {
this.error = error
this.res = res
this.body = body
return done()
}
)
})
})
it('should return a failure status', function () {
return this.body.compile.status.should.equal('failure')
})
it('should return output files', function () {
// NOTE: No output.pdf file.
this.body.compile.outputFiles
.map(f => f.path)
.should.deep.equal([
'output.aux',
'output.fdb_latexmk',
'output.fls',
'output.log',
'output.pdfxref',
'output.stderr',
'output.stdout',
])
})
})
})