mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
/*
|
|
* decaffeinate suggestions:
|
|
* DS102: Remove unnecessary code created because of implicit returns
|
|
* DS207: Consider shorter variations of null checks
|
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
|
*/
|
|
const Client = require("./helpers/Client");
|
|
const request = require("request");
|
|
require("chai").should();
|
|
const { expect } = require("chai");
|
|
const ClsiApp = require("./helpers/ClsiApp");
|
|
const crypto = require("crypto");
|
|
|
|
describe("Syncing", function() {
|
|
before(function(done) {
|
|
const content = `\
|
|
\\documentclass{article}
|
|
\\begin{document}
|
|
Hello world
|
|
\\end{document}\
|
|
`;
|
|
this.request = {
|
|
resources: [{
|
|
path: "main.tex",
|
|
content
|
|
}
|
|
]
|
|
};
|
|
this.project_id = Client.randomId();
|
|
return ClsiApp.ensureRunning(() => {
|
|
return Client.compile(this.project_id, this.request, (error, res, body) => { this.error = error; this.res = res; this.body = body; return done(); });
|
|
});
|
|
});
|
|
|
|
describe("from code to pdf", () =>
|
|
it("should return the correct location", function(done) {
|
|
return Client.syncFromCode(this.project_id, "main.tex", 3, 5, function(error, pdfPositions) {
|
|
if (error != null) { throw error; }
|
|
expect(pdfPositions).to.deep.equal({
|
|
pdf: [ { page: 1, h: 133.77, v: 134.76, height: 6.92, width: 343.71 } ]
|
|
});
|
|
return done();
|
|
});
|
|
})
|
|
);
|
|
|
|
return describe("from pdf to code", () =>
|
|
it("should return the correct location", function(done) {
|
|
return Client.syncFromPdf(this.project_id, 1, 100, 200, (error, codePositions) => {
|
|
if (error != null) { throw error; }
|
|
expect(codePositions).to.deep.equal({
|
|
code: [ { file: 'main.tex', line: 3, column: -1 } ]
|
|
});
|
|
return done();
|
|
});
|
|
})
|
|
);
|
|
});
|