decaffeinate: Rename CompileControllerTests.coffee and 17 other files from .coffee to .js
This commit is contained in:
117
test/unit/coffee/TikzManager.js
Normal file
117
test/unit/coffee/TikzManager.js
Normal file
@@ -0,0 +1,117 @@
|
||||
SandboxedModule = require('sandboxed-module')
|
||||
sinon = require('sinon')
|
||||
require('chai').should()
|
||||
modulePath = require('path').join __dirname, '../../../app/js/TikzManager'
|
||||
|
||||
describe 'TikzManager', ->
|
||||
beforeEach ->
|
||||
@TikzManager = SandboxedModule.require modulePath, requires:
|
||||
"./ResourceWriter": @ResourceWriter = {}
|
||||
"./SafeReader": @SafeReader = {}
|
||||
"fs": @fs = {}
|
||||
"logger-sharelatex": @logger = {log: () ->}
|
||||
|
||||
describe "checkMainFile", ->
|
||||
beforeEach ->
|
||||
@compileDir = "compile-dir"
|
||||
@mainFile = "main.tex"
|
||||
@callback = sinon.stub()
|
||||
|
||||
describe "if there is already an output.tex file in the resources", ->
|
||||
beforeEach ->
|
||||
@resources = [{path:"main.tex"},{path:"output.tex"}]
|
||||
@TikzManager.checkMainFile @compileDir, @mainFile, @resources, @callback
|
||||
|
||||
it "should call the callback with false ", ->
|
||||
@callback.calledWithExactly(null, false)
|
||||
.should.equal true
|
||||
|
||||
describe "if there is no output.tex file in the resources", ->
|
||||
beforeEach ->
|
||||
@resources = [{path:"main.tex"}]
|
||||
@ResourceWriter.checkPath = sinon.stub()
|
||||
.withArgs(@compileDir, @mainFile)
|
||||
.callsArgWith(2, null, "#{@compileDir}/#{@mainFile}")
|
||||
|
||||
describe "and the main file contains tikzexternalize", ->
|
||||
beforeEach ->
|
||||
@SafeReader.readFile = sinon.stub()
|
||||
.withArgs("#{@compileDir}/#{@mainFile}")
|
||||
.callsArgWith(3, null, "hello \\tikzexternalize")
|
||||
@TikzManager.checkMainFile @compileDir, @mainFile, @resources, @callback
|
||||
|
||||
it "should look at the file on disk", ->
|
||||
@SafeReader.readFile
|
||||
.calledWith("#{@compileDir}/#{@mainFile}")
|
||||
.should.equal true
|
||||
|
||||
it "should call the callback with true ", ->
|
||||
@callback.calledWithExactly(null, true)
|
||||
.should.equal true
|
||||
|
||||
describe "and the main file does not contain tikzexternalize", ->
|
||||
beforeEach ->
|
||||
@SafeReader.readFile = sinon.stub()
|
||||
.withArgs("#{@compileDir}/#{@mainFile}")
|
||||
.callsArgWith(3, null, "hello")
|
||||
@TikzManager.checkMainFile @compileDir, @mainFile, @resources, @callback
|
||||
|
||||
it "should look at the file on disk", ->
|
||||
@SafeReader.readFile
|
||||
.calledWith("#{@compileDir}/#{@mainFile}")
|
||||
.should.equal true
|
||||
|
||||
it "should call the callback with false", ->
|
||||
@callback.calledWithExactly(null, false)
|
||||
.should.equal true
|
||||
|
||||
describe "and the main file contains \\usepackage{pstool}", ->
|
||||
beforeEach ->
|
||||
@SafeReader.readFile = sinon.stub()
|
||||
.withArgs("#{@compileDir}/#{@mainFile}")
|
||||
.callsArgWith(3, null, "hello \\usepackage[random-options]{pstool}")
|
||||
@TikzManager.checkMainFile @compileDir, @mainFile, @resources, @callback
|
||||
|
||||
it "should look at the file on disk", ->
|
||||
@SafeReader.readFile
|
||||
.calledWith("#{@compileDir}/#{@mainFile}")
|
||||
.should.equal true
|
||||
|
||||
it "should call the callback with true ", ->
|
||||
@callback.calledWithExactly(null, true)
|
||||
.should.equal true
|
||||
|
||||
describe "injectOutputFile", ->
|
||||
beforeEach ->
|
||||
@rootDir = "/mock"
|
||||
@filename = "filename.tex"
|
||||
@callback = sinon.stub()
|
||||
@content = '''
|
||||
\\documentclass{article}
|
||||
\\usepackage{tikz}
|
||||
\\tikzexternalize
|
||||
\\begin{document}
|
||||
Hello world
|
||||
\\end{document}
|
||||
'''
|
||||
@fs.readFile = sinon.stub().callsArgWith(2, null, @content)
|
||||
@fs.writeFile = sinon.stub().callsArg(3)
|
||||
@ResourceWriter.checkPath = sinon.stub().callsArgWith(2, null, "#{@rootDir}/#{@filename}")
|
||||
@TikzManager.injectOutputFile @rootDir, @filename, @callback
|
||||
|
||||
it "sould check the path", ->
|
||||
@ResourceWriter.checkPath.calledWith(@rootDir, @filename)
|
||||
.should.equal true
|
||||
|
||||
it "should read the file", ->
|
||||
@fs.readFile
|
||||
.calledWith("#{@rootDir}/#{@filename}", "utf8")
|
||||
.should.equal true
|
||||
|
||||
it "should write out the same file as output.tex", ->
|
||||
@fs.writeFile
|
||||
.calledWith("#{@rootDir}/output.tex", @content, {flag: 'wx'})
|
||||
.should.equal true
|
||||
|
||||
it "should call the callback", ->
|
||||
@callback.called.should.equal true
|
||||
Reference in New Issue
Block a user