From 66b07b045bc465d160b3a44347762d7d5acbb71c Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 11 Nov 2016 09:49:44 +0000 Subject: [PATCH] * Delete Value/Path must set Modified flag (Bug ID 30907) git-svn-id: trunk@34870 - --- packages/fcl-json/src/jsonconf.pp | 1 + packages/fcl-json/tests/jsonconftest.pp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/packages/fcl-json/src/jsonconf.pp b/packages/fcl-json/src/jsonconf.pp index ce92b959e4..6da2bb9ea0 100644 --- a/packages/fcl-json/src/jsonconf.pp +++ b/packages/fcl-json/src/jsonconf.pp @@ -637,6 +637,7 @@ begin Node.Delete(L); end; end; + FModified:=True; end; procedure TJSONConfig.DeleteValue(const APath: UnicodeString); diff --git a/packages/fcl-json/tests/jsonconftest.pp b/packages/fcl-json/tests/jsonconftest.pp index 3abc42727d..c93dc7d94b 100644 --- a/packages/fcl-json/tests/jsonconftest.pp +++ b/packages/fcl-json/tests/jsonconftest.pp @@ -179,7 +179,9 @@ begin C:=CreateConf('test.json'); try C.SetValue('a',1); + C.Flush; C.DeleteValue('a'); + AssertEquals('Modified set',True,C.Modified); AssertEquals('Delete value',0,C.GetValue('a',0)); C.SetValue('b/a',1); C.SetValue('b/c',2); @@ -187,7 +189,9 @@ begin AssertEquals('Delete value in subkey',0,C.GetValue('a',0)); AssertEquals('Delete value only clears deleted value',2,C.GetValue('b/c',0)); C.SetValue('b/a',1); + C.Flush; C.DeletePath('b'); + AssertEquals('Modified set',True,C.Modified); AssertEquals('Delete path',0,C.GetValue('b/a',0)); AssertEquals('Delete path deletes all values',0,C.GetValue('b/c',0)); C.Clear;