summaryrefslogtreecommitdiff
path: root/packages/fcl-json/tests
diff options
context:
space:
mode:
authormichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-06-30 10:35:04 +0000
committermichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-06-30 10:35:04 +0000
commit60e7f97a7ad8a84e3dcf13252e118dee7f6cb5ba (patch)
tree474f94adae9f166b458008471c1de7c4f6b195d5 /packages/fcl-json/tests
parent34105e2039c72c5ddd866839f669fca29f276677 (diff)
downloadfpc-60e7f97a7ad8a84e3dcf13252e118dee7f6cb5ba.tar.gz
* Patches for bugs 16815 and 16807 (double type and access violation when accessing non-existent member
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@15495 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-json/tests')
-rw-r--r--packages/fcl-json/tests/testjsondata.pp25
-rw-r--r--packages/fcl-json/tests/testjsonparser.pp6
2 files changed, 26 insertions, 5 deletions
diff --git a/packages/fcl-json/tests/testjsondata.pp b/packages/fcl-json/tests/testjsondata.pp
index cfc189561f..3e7fbe3a90 100644
--- a/packages/fcl-json/tests/testjsondata.pp
+++ b/packages/fcl-json/tests/testjsondata.pp
@@ -157,6 +157,7 @@ type
TTestObject = class(TTestJSON)
private
procedure TestAddBoolean(B : Boolean);
+ Procedure TestAccessError;
published
Procedure TestCreate;
Procedure TestCreateString;
@@ -184,6 +185,7 @@ type
procedure TestRemove;
procedure TestClone;
procedure TestExtract;
+ Procedure TestNonExistingAccessError;
end;
@@ -998,7 +1000,7 @@ end;
procedure TTestArray.TestCreateFloat;
Const
- S = 1.2;
+ S : double = 1.2;
Var
J : TJSONArray;
@@ -1564,6 +1566,20 @@ begin
end;
+procedure TTestObject.TestAccessError;
+
+Var
+ J : TJSONObject;
+
+begin
+ J:=TJSonObject.Create;
+ try
+ J.Strings['NonExist'];
+ finally
+ FreeAndNil(J);
+ end;
+end;
+
procedure TTestObject.TestAddBooleanTrue;
begin
@@ -1812,6 +1828,11 @@ begin
end;
+procedure TTestObject.TestNonExistingAccessError;
+begin
+ AssertException(EJSON,@TestAccessError);
+end;
+
procedure TTestObject.TestCreateString;
@@ -1907,7 +1928,7 @@ procedure TTestObject.TestCreateFloat;
Const
A = 'A';
- S = 1.2;
+ S : double = 1.2;
Var
J : TJSONObject;
diff --git a/packages/fcl-json/tests/testjsonparser.pp b/packages/fcl-json/tests/testjsonparser.pp
index 46b1579b61..3542e212d9 100644
--- a/packages/fcl-json/tests/testjsonparser.pp
+++ b/packages/fcl-json/tests/testjsonparser.pp
@@ -209,9 +209,9 @@ begin
DoTestArray('[1234567890123456]',1);
DoTestArray('[1234567890123456, 2234567890123456]',2);
DoTestArray('[1234567890123456, 2234567890123456, 3234567890123456]',3);
- Str(1.2,S1);
- Str(2.3,S2);
- Str(3.4,S3);
+ Str(Double(1.2),S1);
+ Str(Double(2.3),S2);
+ Str(Double(3.4),S3);
DoTestArray('['+S1+']',1);
DoTestArray('['+S1+', '+S2+']',2);
DoTestArray('['+S1+', '+S2+', '+S3+']',3);