-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcodestream_test.coffee
38 lines (31 loc) · 1017 Bytes
/
codestream_test.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
require './setup'
{clazz, colors:{red, blue, cyan, magenta, green, normal, black, white, yellow}} = require('cardamom')
{inspect} = require 'util'
assert = require 'assert'
{CodeStream} = require '../src/codestream'
console.log blue "\n-= codestream test =-"
do ->
cs = CodeStream """line 0
line 1
line 2 -- rest of line 2
line 3
line 4"""
assert.equal cs.line, 0
assert.equal cs.col, 0
line = cs.getUntil('\n')
assert.equal line, "line 0\n"
assert.equal cs.line, 1
assert.equal cs.col, 0
line = cs.getUntil('\n')
assert.equal line, "line 1\n"
assert.equal cs.line, 2
assert.equal cs.col, 0
part = cs.getUntil(' -- ')
assert.equal part, "line 2 -- "
assert.equal cs.line, 2
assert.equal cs.col, 10
assert.equal cs.peek(afterChars:4), 'rest'
assert.equal cs.peek(beforeLines:0, afterLines:0), 'line 2 -- rest of line 2'
assert.equal cs.peek(afterLines:0), 'rest of line 2'
assert.equal cs.peek(afterLines:1), 'rest of line 2\nline 3'
console.log "All tests passed"