mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 21:19:31 +02:00
* Fixed lazarus dependencies, and added extensive object test
git-svn-id: trunk@8525 -
This commit is contained in:
parent
4f13348908
commit
e13f356d04
@ -24,16 +24,19 @@
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="3">
|
||||
<RequiredPackages Count="4">
|
||||
<Item1>
|
||||
<PackageName Value="LCL"/>
|
||||
<PackageName Value="fpcunitconsolerunner"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="FPCUnitTestRunner"/>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<PackageName Value="FCL"/>
|
||||
<PackageName Value="FPCUnitTestRunner"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<PackageName Value="FCL"/>
|
||||
</Item4>
|
||||
</RequiredPackages>
|
||||
<Units Count="3">
|
||||
<Unit0>
|
||||
@ -55,6 +58,9 @@
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
<SearchPaths>
|
||||
<OtherUnitFiles Value="../src/"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
|
@ -17,7 +17,8 @@
|
||||
program testjson;
|
||||
|
||||
uses
|
||||
Classes, consoletestrunner, testjsondata, testjsonparser;
|
||||
Classes, consoletestrunner, testjsondata, testjsonparser,
|
||||
fpcunitconsolerunner;
|
||||
type
|
||||
{ TLazTestRunner }
|
||||
TMyTestRunner = class(TTestRunner)
|
||||
|
@ -31,7 +31,7 @@ type
|
||||
procedure DoTestError(S: String);
|
||||
procedure DoTestFloat(F: TJSONFloat); overload;
|
||||
procedure DoTestFloat(F: TJSONFloat; S: String); overload;
|
||||
procedure DoTestObject(S: String; const ElNames: array of String);
|
||||
procedure DoTestObject(S: String; const ElNames: array of String; DoJSONTest : Boolean = True);
|
||||
procedure DoTestString(S : String);
|
||||
procedure DoTestArray(S: String; ACount: Integer);
|
||||
published
|
||||
@ -204,12 +204,28 @@ end;
|
||||
|
||||
procedure TTestParser.TestMixed;
|
||||
|
||||
Const
|
||||
|
||||
SAddr ='{ "addressbook": { "name": "Mary Lebow", '+
|
||||
' "address": {'+
|
||||
' "street": "5 Main Street",'+LineEnding+
|
||||
' "city": "San Diego, CA",'+LineEnding+
|
||||
' "zip": 91912,'+LineEnding+
|
||||
' },'+LineEnding+
|
||||
' "phoneNumbers": [ '+LineEnding+
|
||||
' "619 332-3452",'+LineEnding+
|
||||
' "664 223-4667"'+LineEnding+
|
||||
' ]'+LineEnding+
|
||||
' }'+LineEnding+
|
||||
'}';
|
||||
|
||||
begin
|
||||
DoTestArray('[1, {}]',2);
|
||||
DoTestArray('[1, { "a" : 1 }]',2);
|
||||
DoTestArray('[1, { "a" : 1 }, 1]',3);
|
||||
DoTestObject('{ "a" : [1, 2] }',['a']);
|
||||
DoTestObject('{ "a" : [1, 2], "B" : { "c" : "d" } }',['a','B']);
|
||||
DoTestObject(SAddr,['addressbook'],False);
|
||||
end;
|
||||
|
||||
procedure TTestParser.TestObject;
|
||||
@ -222,7 +238,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TTestParser.DoTestObject(S : String; Const ElNames : Array of String);
|
||||
procedure TTestParser.DoTestObject(S : String; Const ElNames : Array of String; DoJSONTest : Boolean = True);
|
||||
|
||||
Var
|
||||
P : TJSONParser;
|
||||
@ -242,7 +258,8 @@ begin
|
||||
For I:=Low(ElNames) to High(ElNames) do
|
||||
AssertEquals(Format('Element %d name',[I-Low(Elnames)])
|
||||
,ElNames[i], O.Names[I-Low(ElNames)]);
|
||||
TestJSON(J,S);
|
||||
If DoJSONTest then
|
||||
self.TestJSON(J,S);
|
||||
Finally
|
||||
FreeAndNil(J);
|
||||
FreeAndNil(P);
|
||||
|
Loading…
Reference in New Issue
Block a user