@@ -43,7 +43,7 @@ describe('types', function () {
43
43
} )
44
44
lp . end ( 'TAG1 "UID FETCH"\r\n' )
45
45
} )
46
- it ( 'parses string literal' , function ( done ) {
46
+ it ( 'parses synchronizing string literal' , function ( done ) {
47
47
var lp = new Parser ( )
48
48
lp . on ( 'data' , function ( data ) {
49
49
assert . deepEqual ( data , [ 'TAG1' , 'ABC DEF\r\nGHI JKL' , 'TAG2' ] )
@@ -53,6 +53,16 @@ describe('types', function () {
53
53
lp . write ( 'ABC DEF\r\nGHI JKL' )
54
54
lp . end ( '"TAG2"\r\n' )
55
55
} )
56
+ it ( 'parses non-synchronizing string literal' , function ( done ) {
57
+ var lp = new Parser ( )
58
+ lp . on ( 'data' , function ( data ) {
59
+ assert . deepEqual ( data , [ 'TAG1' , 'ABC DEF\r\nGHI JKL' , 'TAG2' ] )
60
+ done ( )
61
+ } )
62
+ lp . write ( 'TAG1 {16+}\r\n' )
63
+ lp . write ( 'ABC DEF\r\nGHI JKL' )
64
+ lp . end ( '"TAG2"\r\n' )
65
+ } )
56
66
it ( 'parses NIL value' , function ( done ) {
57
67
var lp = new Parser ( )
58
68
lp . on ( 'data' , function ( data ) {
@@ -130,7 +140,7 @@ describe('structure', function () {
130
140
} )
131
141
} )
132
142
133
- describe ( 'logging ' , function ( ) {
143
+ describe ( 'events ' , function ( ) {
134
144
it ( 'emits a log event for each line' , function ( done ) {
135
145
var lp = new Parser ( )
136
146
lp . on ( 'log' , function ( data ) {
@@ -140,4 +150,11 @@ describe('logging', function () {
140
150
lp . write ( 'TAG1 ' )
141
151
lp . end ( 'FETCH (NAME HEADER BODY)\r\n' )
142
152
} )
153
+ it ( 'emits a literal event after a synchronizing literal is received' , function ( done ) {
154
+ var lp = new Parser ( )
155
+ lp . on ( 'literal' , function ( ) {
156
+ done ( )
157
+ } )
158
+ lp . end ( 'TAG1 {16}\r\n' )
159
+ } )
143
160
} )
0 commit comments