| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /* 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)
- })
- })
- })
|