|
@@ -0,0 +1,46 @@
|
|
|
+// 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.
|