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;