@@ -44,6 +44,37 @@ suite("SelectionInterpreter tests", () => {
4444 assert . equal ( rows [ 1 ] [ 1 ] , "v2" ) ;
4545 } ) ;
4646
47+ test ( "allRows() line starting and ending with pipe is correctly splitted" , ( ) => {
48+ const text = "|h1|h2|h3|h4|" ;
49+ const sut = createSut ( ) ;
50+
51+ const rows = sut . allRows ( text ) ;
52+
53+ assert . equal ( rows . length , 1 ) ;
54+ assert . equal ( rows [ 0 ] . length , 6 ) ;
55+ assert . equal ( rows [ 0 ] [ 0 ] , "" ) ;
56+ assert . equal ( rows [ 0 ] [ 1 ] , "h1" ) ;
57+ assert . equal ( rows [ 0 ] [ 2 ] , "h2" ) ;
58+ assert . equal ( rows [ 0 ] [ 3 ] , "h3" ) ;
59+ assert . equal ( rows [ 0 ] [ 4 ] , "h4" ) ;
60+ assert . equal ( rows [ 0 ] [ 5 ] , "" ) ;
61+ } ) ;
62+
63+ test ( "allRows() doesn't consider \\| as separator " , ( ) => {
64+ const text = "h1|h2\\|still\\|h2\nv1|v2" ;
65+ const sut = createSut ( ) ;
66+
67+ const rows = sut . allRows ( text ) ;
68+
69+ assert . equal ( rows . length , 2 ) ;
70+ assert . equal ( rows [ 0 ] . length , 2 ) ;
71+ assert . equal ( rows [ 1 ] . length , 2 ) ;
72+ assert . equal ( rows [ 0 ] [ 0 ] , "h1" ) ;
73+ assert . equal ( rows [ 0 ] [ 1 ] , "h2\\|still\\|h2" ) ;
74+ assert . equal ( rows [ 1 ] [ 0 ] , "v1" ) ;
75+ assert . equal ( rows [ 1 ] [ 1 ] , "v2" ) ;
76+ } ) ;
77+
4778 test ( "separator() returns the first row" , ( ) => {
4879 const text = "h1|h2\r\n:-|-\r\nv1|v2" ;
4980 const sut = createSut ( ) ;
0 commit comments