add unit test

This commit is contained in:
Henrique Dias
2015-06-08 19:27:47 -03:00
parent 25d73ab6f9
commit a04d951b40
3 changed files with 54 additions and 3 deletions

View File

@@ -189,3 +189,27 @@ describe "CompileController", ->
)
.should.equal true
describe "wordcount", ->
beforeEach ->
@file = "main.tex"
@project_id = "mock-project-id"
@req.params =
project_id: @project_id
@req.query =
file: @file
@res.send = sinon.stub()
@CompileManager.wordcount = sinon.stub().callsArgWith(2, null, @texcount = ["mock-texcount"])
@CompileController.wordcount @req, @res, @next
it "should return the word count of a file", ->
@CompileManager.wordcount
.calledWith(@project_id, @file)
.should.equal true
it "should return the texcount info", ->
@res.send
.calledWith(JSON.stringify
texcount: @texcount
)
.should.equal true

View File

@@ -171,4 +171,33 @@ describe "CompileManager", ->
line: @line
column: @column
}])
.should.equal true
.should.equal true
describe "wordcount", ->
beforeEach ->
@file_name = "main.tex"
@child_process.execFile = sinon.stub()
@child_process.execFile.callsArgWith(3, null, @stdout = "Encoding: ascii\nWords in text: 2", "")
@Settings.path.synctexBaseDir = (project_id) => "#{@Settings.path.compilesDir}/#{@project_id}"
@CompileManager.wordcount @project_id, @file_name, @callback
it "should execute the texcount binary", ->
file_path = "#{@Settings.path.compilesDir}/#{@project_id}/#{@file_name}"
@child_process.execFile
.calledWith("texcount", [file_path], timeout: 10000)
.should.equal true
it "should call the callback with the parsed output", ->
@callback
.calledWith(null, {
encode: "ascii"
textWords: 2
headWords: 0
outside: 0
headers: 0
elements: 0
mathInline: 0
mathDisplay: 0
})
.should.equal true