decaffeinate: Convert CompileControllerTests.coffee and 17 other files to JS
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user