@@ -108,6 +108,42 @@ describe("sentence-utils", function() {
108108 assert . deepEqual ( sentence2 . loc . start , { line : 1 , column : 10 } ) ;
109109 assert . deepEqual ( sentence2 . loc . end , { line : 1 , column : 18 } ) ;
110110 } ) ;
111+ it ( "should return sentences split by multiple whitespaces" , function ( ) {
112+ const sentences = splitSentences ( "1st text. 2nd text" ) ;
113+ assert . equal ( sentences . length , 2 + 3 ) ;
114+ const [ sentence0 , whitespace0 , whitespace1 , whitespace2 , sentence1 ] = sentences ;
115+ assert . strictEqual ( sentence0 . raw , "1st text." ) ;
116+ assert . deepEqual ( sentence0 . range , [ 0 , 9 ] ) ;
117+ assert . strictEqual ( whitespace0 . type , Syntax . WhiteSpace ) ;
118+ assert . strictEqual ( whitespace0 . value , " " ) ;
119+ assert . deepEqual ( whitespace0 . range , [ 9 , 10 ] ) ;
120+ assert . strictEqual ( whitespace1 . type , Syntax . WhiteSpace ) ;
121+ assert . strictEqual ( whitespace1 . value , " " ) ;
122+ assert . deepEqual ( whitespace1 . range , [ 10 , 11 ] ) ;
123+ assert . strictEqual ( whitespace2 . type , Syntax . WhiteSpace ) ;
124+ assert . strictEqual ( whitespace2 . value , " " ) ;
125+ assert . deepEqual ( whitespace2 . range , [ 11 , 12 ] ) ;
126+ assert . strictEqual ( sentence1 . raw , "2nd text" ) ;
127+ assert . deepEqual ( sentence1 . range , [ 12 , 20 ] ) ;
128+ } ) ;
129+ it ( "should return sentences split by text and whitespaces, and new line" , function ( ) {
130+ const sentences = splitSentences ( "1st text. \n 2nd text" ) ;
131+ assert . equal ( sentences . length , 2 + 2 + 1 ) ;
132+ const [ sentence0 , whitespace0 , lineBreak , whitespace1 , sentence1 ] = sentences ;
133+ assert . strictEqual ( sentence0 . raw , "1st text." ) ;
134+ assert . deepEqual ( sentence0 . range , [ 0 , 9 ] ) ;
135+ assert . strictEqual ( whitespace0 . type , Syntax . WhiteSpace ) ;
136+ assert . strictEqual ( whitespace0 . value , " " ) ;
137+ assert . deepEqual ( whitespace0 . range , [ 9 , 10 ] ) ;
138+ assert . strictEqual ( lineBreak . type , Syntax . WhiteSpace ) ;
139+ assert . strictEqual ( lineBreak . value , "\n" ) ;
140+ assert . deepEqual ( lineBreak . range , [ 10 , 11 ] ) ;
141+ assert . strictEqual ( whitespace1 . type , Syntax . WhiteSpace ) ;
142+ assert . strictEqual ( whitespace1 . value , " " ) ;
143+ assert . deepEqual ( whitespace1 . range , [ 11 , 12 ] ) ;
144+ assert . strictEqual ( sentence1 . raw , "2nd text" ) ;
145+ assert . deepEqual ( sentence1 . range , [ 12 , 20 ] ) ;
146+ } ) ;
111147 it ( "should return sentences split by !?" , function ( ) {
112148 let sentences = splitSentences ( "text!?text" ) ;
113149 assert . equal ( sentences . length , 2 ) ;
0 commit comments