| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /* eslint-disable
- no-return-assign,
- */
- // 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 SandboxedModule = require('sandboxed-module');
- const sinon = require('sinon');
- require('chai').should();
- const modulePath = require('path').join(__dirname, '../../../app/js/DraftModeManager');
- describe('DraftModeManager', function() {
- beforeEach(function() {
- return this.DraftModeManager = SandboxedModule.require(modulePath, { requires: {
- "fs": (this.fs = {}),
- "logger-sharelatex": (this.logger = {log() {}})
- }
- });});
-
- describe("_injectDraftOption", function() {
- it("should add draft option into documentclass with existing options", function() {
- return this.DraftModeManager
- ._injectDraftOption(`\
- \\documentclass[a4paper,foo=bar]{article}\
- `)
- .should.equal(`\
- \\documentclass[draft,a4paper,foo=bar]{article}\
- `);
- });
- return it("should add draft option into documentclass with no options", function() {
- return this.DraftModeManager
- ._injectDraftOption(`\
- \\documentclass{article}\
- `)
- .should.equal(`\
- \\documentclass[draft]{article}\
- `);
- });
- });
-
- return describe("injectDraftMode", function() {
- beforeEach(function() {
- this.filename = "/mock/filename.tex";
- this.callback = sinon.stub();
- const content = `\
- \\documentclass{article}
- \\begin{document}
- Hello world
- \\end{document}\
- `;
- this.fs.readFile = sinon.stub().callsArgWith(2, null, content);
- this.fs.writeFile = sinon.stub().callsArg(2);
- return this.DraftModeManager.injectDraftMode(this.filename, this.callback);
- });
-
- it("should read the file", function() {
- return this.fs.readFile
- .calledWith(this.filename, "utf8")
- .should.equal(true);
- });
-
- it("should write the modified file", function() {
- return this.fs.writeFile
- .calledWith(this.filename, `\
- \\documentclass[draft]{article}
- \\begin{document}
- Hello world
- \\end{document}\
- `)
- .should.equal(true);
- });
-
- return it("should call the callback", function() {
- return this.callback.called.should.equal(true);
- });
- });
- });
|