decaffeinate: Rename CompileControllerTests.coffee and 17 other files from .coffee to .js
This commit is contained in:
68
test/unit/coffee/OutputFileFinderTests.js
Normal file
68
test/unit/coffee/OutputFileFinderTests.js
Normal file
@@ -0,0 +1,68 @@
|
||||
SandboxedModule = require('sandboxed-module')
|
||||
sinon = require('sinon')
|
||||
require('chai').should()
|
||||
modulePath = require('path').join __dirname, '../../../app/js/OutputFileFinder'
|
||||
path = require "path"
|
||||
expect = require("chai").expect
|
||||
EventEmitter = require("events").EventEmitter
|
||||
|
||||
describe "OutputFileFinder", ->
|
||||
beforeEach ->
|
||||
@OutputFileFinder = SandboxedModule.require modulePath, requires:
|
||||
"fs": @fs = {}
|
||||
"child_process": spawn: @spawn = sinon.stub()
|
||||
"logger-sharelatex": { log: sinon.stub(), warn: sinon.stub() }
|
||||
@directory = "/test/dir"
|
||||
@callback = sinon.stub()
|
||||
|
||||
describe "findOutputFiles", ->
|
||||
beforeEach ->
|
||||
@resource_path = "resource/path.tex"
|
||||
@output_paths = ["output.pdf", "extra/file.tex"]
|
||||
@all_paths = @output_paths.concat [@resource_path]
|
||||
@resources = [
|
||||
path: @resource_path = "resource/path.tex"
|
||||
]
|
||||
@OutputFileFinder._getAllFiles = sinon.stub().callsArgWith(1, null, @all_paths)
|
||||
@OutputFileFinder.findOutputFiles @resources, @directory, (error, @outputFiles) =>
|
||||
|
||||
it "should only return the output files, not directories or resource paths", ->
|
||||
expect(@outputFiles).to.deep.equal [{
|
||||
path: "output.pdf"
|
||||
type: "pdf"
|
||||
}, {
|
||||
path: "extra/file.tex",
|
||||
type: "tex"
|
||||
}]
|
||||
|
||||
describe "_getAllFiles", ->
|
||||
beforeEach ->
|
||||
@proc = new EventEmitter()
|
||||
@proc.stdout = new EventEmitter()
|
||||
@spawn.returns @proc
|
||||
@directory = "/base/dir"
|
||||
@OutputFileFinder._getAllFiles @directory, @callback
|
||||
|
||||
describe "successfully", ->
|
||||
beforeEach ->
|
||||
@proc.stdout.emit(
|
||||
"data",
|
||||
["/base/dir/main.tex", "/base/dir/chapters/chapter1.tex"].join("\n") + "\n"
|
||||
)
|
||||
@proc.emit "close", 0
|
||||
|
||||
it "should call the callback with the relative file paths", ->
|
||||
@callback.calledWith(
|
||||
null,
|
||||
["main.tex", "chapters/chapter1.tex"]
|
||||
).should.equal true
|
||||
|
||||
describe "when the directory doesn't exist", ->
|
||||
beforeEach ->
|
||||
@proc.emit "close", 1
|
||||
|
||||
it "should call the callback with a blank array", ->
|
||||
@callback.calledWith(
|
||||
null,
|
||||
[]
|
||||
).should.equal true
|
||||
Reference in New Issue
Block a user