1 | ASStest = require './ass-test'
|
2 |
|
3 | module.exports =
|
4 | class ASS
|
5 | file: null
|
6 | lines: null
|
7 | tests: null
|
8 |
|
9 | constructor: (@rawData) ->
|
10 | start = new Date().getTime()
|
11 | @parseData()
|
12 |
|
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
|