UNPKG

804 Btext/coffeescriptView Raw
1ASStest = require './ass-test'
2
3module.exports =
4class ASS
5 file: null
6 lines: null
7 tests: null
8
9 constructor: (@rawData) ->
10 start = new Date().getTime()
11 @parseData()
12 # console.log "ASS.parseData() "+(new Date().getTime() - start)+"ms"
13
14 parseData: ->
15 @splitDataIntoLines()
16 @removeEmptyLinesAndComments()
17 @splitLinesIntoTests()
18
19 splitDataIntoLines: ->
20 @lines = @rawData.split("\n")
21
22 removeEmptyLinesAndComments: ->
23 lines = []
24 for line in @lines
25 if line.length and (line[0] isnt "#")
26 lines.push(line)
27 @lines = lines
28
29 splitLinesIntoTests: ->
30 @tests = []
31 test = []
32 for line in @lines
33 test.push(line)
34 if line[0] is '}'
35 @tests.push(new ASStest(@tests.length, test))
36 test = []
37
38 getTests: ->
39 @tests