12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // test AnsiExtractQuotedStr
- {$mode delphi}
- Uses Strings,SysUtils;
- var testok : boolean;
- procedure dotest(str,val2,val3:string);
- var p: pchar;
- s2:string;
- b: boolean;
- begin
- Write('testing: *',str,'*: ');
- p:=pchar(Str);
- b:=true;
- s2:=AnsiExtractQuotedStr( p, '"' );
- if s2<>val2 then
- begin
- write(' return value wrong:*',s2,'*');
- b:=false;
- end;
- if ansistring(p)<>val3 then
- begin
- write(' left in str wrong:*',ansistring(p),'*');
- b:=false;
- end;
- if b then writeln('ok') else begin testok:=false; writeln; end;
- end;
- var str : string;
- p : pchar;
- begin
- testok:=true;
- dotest('"test1""test2"','test1"test2','');
- dotest('"test1" "test2"','test1',' "test2"');
- dotest('"test1 test2"','test1 test2','');
- dotest('"test1 test2','test1 test2','');
- dotest('','','');
- dotest('"','','');
- dotest('""','','');
- dotest('"x"','x',''); // one char only case.
- if testok then halt(0) else halt(1);
- end.
|