|
@@ -50,12 +50,12 @@ type
|
|
procedure CallNoHandlerStream;
|
|
procedure CallNoHandlerStream;
|
|
procedure DoTestFloat(F: TJSONFloat); overload;
|
|
procedure DoTestFloat(F: TJSONFloat); overload;
|
|
procedure DoTestFloat(F: TJSONFloat; S: String); overload;
|
|
procedure DoTestFloat(F: TJSONFloat; S: String); overload;
|
|
- procedure DoTestString(S: String; AValue: String='');
|
|
|
|
|
|
+ procedure DoTestString(S: TJSONStringType; AValue: TJSONStringType='');
|
|
procedure DoTrailingCommaErrorArray;
|
|
procedure DoTrailingCommaErrorArray;
|
|
procedure DoTrailingCommaErrorObject;
|
|
procedure DoTrailingCommaErrorObject;
|
|
Protected
|
|
Protected
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); virtual; abstract;
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); virtual; abstract;
|
|
- Procedure TestRead(aJSON : String; AResult : Array of string); virtual; abstract;
|
|
|
|
|
|
+ Procedure TestRead(aJSON : String; AResult : Array of TJSONStringType); virtual; abstract;
|
|
published
|
|
published
|
|
procedure TestEmpty;
|
|
procedure TestEmpty;
|
|
procedure TestNull;
|
|
procedure TestNull;
|
|
@@ -86,7 +86,7 @@ type
|
|
Procedure Teardown; override;
|
|
Procedure Teardown; override;
|
|
Public
|
|
Public
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); override;
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); override;
|
|
- Procedure TestRead(aJSON : String; AResult : Array of string); override;
|
|
|
|
|
|
+ Procedure TestRead(aJSON : String; AResult : Array of TJSONStringType); override;
|
|
Property Reader : TMyJSONReader Read FReader;
|
|
Property Reader : TMyJSONReader Read FReader;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -125,7 +125,7 @@ type
|
|
Procedure Teardown; override;
|
|
Procedure Teardown; override;
|
|
Public
|
|
Public
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); override;
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); override;
|
|
- Procedure TestRead(aJSON : String; AResult : Array of string); override;
|
|
|
|
|
|
+ Procedure TestRead(aJSON : String; AResult : Array of TJSONStringType); override;
|
|
Property Reader : TJSONConsumerReader Read FReader;
|
|
Property Reader : TJSONConsumerReader Read FReader;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -154,7 +154,7 @@ type
|
|
Procedure Teardown; override;
|
|
Procedure Teardown; override;
|
|
Public
|
|
Public
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); override;
|
|
procedure DoTestError(S: String; Options : TJSONOptions = DefaultOpts); override;
|
|
- Procedure TestRead(aJSON : String; AResult : Array of string); override;
|
|
|
|
|
|
+ Procedure TestRead(aJSON : String; AResult : Array of TJSONStringType); override;
|
|
Property Reader : TJSONEventReader Read FReader;
|
|
Property Reader : TJSONEventReader Read FReader;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -241,8 +241,11 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TMyJSONReader.StringValue(const AValue: TJSONStringType);
|
|
procedure TMyJSONReader.StringValue(const AValue: TJSONStringType);
|
|
|
|
+var
|
|
|
|
+ s: TJSONStringType;
|
|
begin
|
|
begin
|
|
- List.Add('string:'+AValue)
|
|
|
|
|
|
+ s:='string:'+AValue;
|
|
|
|
+ List.Add(s);
|
|
end;
|
|
end;
|
|
|
|
|
|
destructor TMyJSONReader.Destroy;
|
|
destructor TMyJSONReader.Destroy;
|
|
@@ -492,11 +495,11 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TBaseTestReader.DoTestString(S: String; AValue : String = '');
|
|
|
|
-
|
|
|
|
|
|
+procedure TBaseTestReader.DoTestString(S: TJSONStringType; AValue : TJSONStringType = '');
|
|
begin
|
|
begin
|
|
if AValue='' then
|
|
if AValue='' then
|
|
AValue:=S;
|
|
AValue:=S;
|
|
|
|
+ FOptions:=[joUTF8];
|
|
TestRead('"'+S+'"',['string:'+AValue]);
|
|
TestRead('"'+S+'"',['string:'+AValue]);
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -522,7 +525,7 @@ begin
|
|
inherited Teardown;
|
|
inherited Teardown;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TTestReader.TestRead(aJSON: String; AResult: array of string);
|
|
|
|
|
|
+procedure TTestReader.TestRead(aJSON: String; AResult: array of TJSONStringType);
|
|
|
|
|
|
Var
|
|
Var
|
|
I : Integer;
|
|
I : Integer;
|
|
@@ -633,8 +636,11 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TJSONConsumer.StringValue(const AValue: TJSONStringType);
|
|
procedure TJSONConsumer.StringValue(const AValue: TJSONStringType);
|
|
|
|
+var
|
|
|
|
+ s: TJSONStringType;
|
|
begin
|
|
begin
|
|
- List.Add('string:'+AValue)
|
|
|
|
|
|
+ s:='string:'+AValue;
|
|
|
|
+ List.Add(s);
|
|
end;
|
|
end;
|
|
|
|
|
|
constructor TJSONConsumer.Create(AList: TStrings);
|
|
constructor TJSONConsumer.Create(AList: TStrings);
|
|
@@ -642,7 +648,7 @@ begin
|
|
FList:=AList;
|
|
FList:=AList;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TTestJSONConsumerReader.TestRead(aJSON: String; AResult: array of string);
|
|
|
|
|
|
+procedure TTestJSONConsumerReader.TestRead(aJSON: String; AResult: array of TJSONStringType);
|
|
|
|
|
|
Var
|
|
Var
|
|
I : Integer;
|
|
I : Integer;
|
|
@@ -731,7 +737,7 @@ begin
|
|
Fail('Parse of JSON string "'+S+'" should fail, but succeeded');
|
|
Fail('Parse of JSON string "'+S+'" should fail, but succeeded');
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TTestJSONEventReader.TestRead(aJSON: String; AResult: array of string);
|
|
|
|
|
|
+procedure TTestJSONEventReader.TestRead(aJSON: String; AResult: array of TJSONStringType);
|
|
|
|
|
|
Var
|
|
Var
|
|
I : Integer;
|
|
I : Integer;
|
|
@@ -817,8 +823,11 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TTestJSONEventReader.StringValue(Sender: TObject; const AValue: TJSONStringType);
|
|
procedure TTestJSONEventReader.StringValue(Sender: TObject; const AValue: TJSONStringType);
|
|
|
|
+var
|
|
|
|
+ s: TJSONStringType;
|
|
begin
|
|
begin
|
|
- FList.Add('string:'+AValue)
|
|
|
|
|
|
+ s:='string:'+AValue;
|
|
|
|
+ FList.Add(s);
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TTestJSONEventReader.HookupEvents(AReader: TJSONEventReader);
|
|
procedure TTestJSONEventReader.HookupEvents(AReader: TJSONEventReader);
|