11using System ;
22using System . IO ;
3+ using System . Linq ;
34using NUnit . Framework ;
45
56namespace ServiceStack . Text . Tests
@@ -196,5 +197,30 @@ public void Can_trim_prefixes()
196197 Assert . That ( "/path/info" . TrimPrefixes ( "/www_deploy" , "~/www_deploy" ) ,
197198 Is . EqualTo ( "/path/info" ) ) ;
198199 }
200+
201+ [ Test ]
202+ public void Can_read_lines ( )
203+ {
204+ Assert . That ( ( null as string ) . ReadLines ( ) . Count ( ) , Is . EqualTo ( 0 ) ) ;
205+ Assert . That ( "" . ReadLines ( ) . Count ( ) , Is . EqualTo ( 0 ) ) ;
206+ Assert . That ( "a" . ReadLines ( ) . Count ( ) , Is . EqualTo ( 1 ) ) ;
207+ Assert . That ( "a\n b" . ReadLines ( ) . Count ( ) , Is . EqualTo ( 2 ) ) ;
208+ Assert . That ( "a\r \n b" . ReadLines ( ) . Count ( ) , Is . EqualTo ( 2 ) ) ;
209+ }
210+
211+ [ Test ]
212+ public void Can_ParseKeyValueText ( )
213+ {
214+ Assert . That ( "" . ParseKeyValueText ( ) . Count , Is . EqualTo ( 0 ) ) ;
215+ Assert . That ( "a" . ParseKeyValueText ( ) . Count , Is . EqualTo ( 1 ) ) ;
216+ Assert . That ( "a" . ParseKeyValueText ( ) [ "a" ] , Is . Null ) ;
217+ Assert . That ( "a:" . ParseKeyValueText ( ) . Count , Is . EqualTo ( 1 ) ) ;
218+ Assert . That ( "a:" . ParseKeyValueText ( ) [ "a" ] , Is . EqualTo ( "" ) ) ;
219+ Assert . That ( "a:b" . ParseKeyValueText ( ) [ "a" ] , Is . EqualTo ( "b" ) ) ;
220+ Assert . That ( "a:b:c" . ParseKeyValueText ( ) [ "a" ] , Is . EqualTo ( "b:c" ) ) ;
221+ Assert . That ( "a : b:c " . ParseKeyValueText ( ) [ "a" ] , Is . EqualTo ( "b:c" ) ) ;
222+ Assert . That ( "a:b\n c:d" . ParseKeyValueText ( ) [ "c" ] , Is . EqualTo ( "d" ) ) ;
223+ Assert . That ( "a:b\r \n c:d" . ParseKeyValueText ( ) [ "c" ] , Is . EqualTo ( "d" ) ) ;
224+ }
199225 }
200226}
0 commit comments