decaffeinate: Convert CompileControllerTests.coffee and 17 other files to JS

This commit is contained in:
decaffeinate
2020-02-19 12:15:08 +01:00
committed by mserranom
parent 18e6b4715d
commit 79a0891fee
18 changed files with 3291 additions and 2401 deletions

View File

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