X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cbc9c06fe55cd31cebf4495d0b53ac4378c5010d..e90411c2c1a2808a7f76667ca683c1e21d11ea09:/tests/fileconf/fileconftest.cpp?ds=inline diff --git a/tests/fileconf/fileconftest.cpp b/tests/fileconf/fileconftest.cpp index 587b980f5d..9b75d89bc9 100644 --- a/tests/fileconf/fileconftest.cpp +++ b/tests/fileconf/fileconftest.cpp @@ -24,6 +24,7 @@ #include "wx/fileconf.h" #include "wx/sstream.h" +#include "wx/log.h" static const wxChar *testconfig = _T("[root]\n") @@ -58,6 +59,8 @@ private: CPPUNIT_TEST( DeleteAll ); CPPUNIT_TEST( RenameEntry ); CPPUNIT_TEST( RenameGroup ); + CPPUNIT_TEST( CreateEntriesAndSubgroup ); + CPPUNIT_TEST( CreateSubgroupAndEntries ); CPPUNIT_TEST( DeleteLastGroup ); CPPUNIT_TEST_SUITE_END(); @@ -73,6 +76,8 @@ private: void DeleteAll(); void RenameEntry(); void RenameGroup(); + void CreateEntriesAndSubgroup(); + void CreateSubgroupAndEntries(); void DeleteLastGroup(); static wxString ChangePath(wxFileConfig& fc, const wxChar *path) @@ -242,10 +247,11 @@ void FileConfigTestCase::HasGroup() CPPUNIT_ASSERT( fc.HasGroup(_T("root/group1")) ); CPPUNIT_ASSERT( fc.HasGroup(_T("root/group1/subgroup")) ); CPPUNIT_ASSERT( fc.HasGroup(_T("root/group2")) ); - CPPUNIT_ASSERT( !fc.HasGroup(_T("foot")) ); CPPUNIT_ASSERT( !fc.HasGroup(_T("")) ); CPPUNIT_ASSERT( !fc.HasGroup(_T("root/group")) ); CPPUNIT_ASSERT( !fc.HasGroup(_T("root//subgroup")) ); + CPPUNIT_ASSERT( !fc.HasGroup(_T("foot/subgroup")) ); + CPPUNIT_ASSERT( !fc.HasGroup(_T("foot")) ); } void FileConfigTestCase::Save() @@ -352,6 +358,29 @@ void FileConfigTestCase::RenameGroup() _T("[foot/group2]\n") ); } +void FileConfigTestCase::CreateSubgroupAndEntries() +{ + wxFileConfig fc; + fc.Write(_T("sub/sub_first"), _T("sub_one")); + fc.Write(_T("first"), _T("one")); + + CPPUNIT_ASSERT( Dump(fc) == _T("first=one\n") + _T("[sub]\n") + _T("sub_first=sub_one\n")); +} + +void FileConfigTestCase::CreateEntriesAndSubgroup() +{ + wxFileConfig fc; + fc.Write(_T("first"), _T("one")); + fc.Write(_T("second"), _T("two")); + fc.Write(_T("sub/sub_first"), _T("sub_one")); + + CPPUNIT_ASSERT( Dump(fc) == _T("first=one\n") + _T("second=two\n") + _T("[sub]\n") + _T("sub_first=sub_one\n")); +} static void EmptyConfigAndWriteKey() { @@ -359,7 +388,7 @@ static void EmptyConfigAndWriteKey() const wxString groupPath = _T("/root"); - if (fc.Exists(groupPath)) + if ( fc.Exists(groupPath) ) { // using DeleteGroup exposes the problem, using DeleteAll doesn't CPPUNIT_ASSERT( fc.DeleteGroup(groupPath) ); @@ -391,8 +420,7 @@ void FileConfigTestCase::DeleteLastGroup() // clean up wxLogNull noLogging; - (void) ::wxRemoveFile( - wxFileConfig::GetLocalFileName(_T("deleteconftest")) ); + (void) ::wxRemoveFile(wxFileConfig::GetLocalFileName(_T("deleteconftest"))); } #endif // wxUSE_FILECONFIG