// Purpose: wxConfig unit test
// Author: Marcin Wojdyr
// Created: 2007-07-07
-// RCS-ID: $Id$
// Copyright: (c) 2007 Marcin Wojdyr
///////////////////////////////////////////////////////////////////////////////
-// see also tests/fileconf/fileconftest.cpp for wxFileConfig specific tests
+// NOTE: this test is compiled in test_gui because it uses wxColour for
+// its testing purpose.
+// See also tests/config/fileconf.cpp for wxFileConfig specific tests and
+// tests/config/regconf.cpp for wxRegConfig specific tests.
// ----------------------------------------------------------------------------
// headers
#include "testprec.h"
+#if wxUSE_CONFIG
+
#ifdef __BORLANDC__
#pragma hdrstop
#endif
void ReadWriteLocalTest();
void RecordingDefaultsTest();
- void ReadValues(wxConfig *config, bool has_values);
+ // return the number of values we (attempted to) read
+ int ReadValues(wxConfig *config, bool has_values);
DECLARE_NO_COPY_CLASS(ConfigTestCase)
};
// register in the unnamed registry so that these tests are run by default
CPPUNIT_TEST_SUITE_REGISTRATION( ConfigTestCase );
-// also include in it's own registry so that these tests can be run alone
+// also include in its own registry so that these tests can be run alone
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ConfigTestCase, "ConfigTestCase" );
void ConfigTestCase::ReadWriteLocalTest()
delete config;
}
-void ConfigTestCase::ReadValues(wxConfig *config, bool has_values)
+int ConfigTestCase::ReadValues(wxConfig *config, bool has_values)
{
+ int read = 0;
bool r;
+
wxString string1 = config->Read(wxT("string1"), wxT("abc"));
+ read++;
+
wxString string2 = config->Read(wxT("string2"), wxString(wxT("def")));
- wxString string3, string4;
+ read++;
+
+ wxString string3;
r = config->Read(wxT("string3"), &string3, wxT("abc"));
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
+
+ wxString string4;
r = config->Read(wxT("string4"), &string4, wxString(wxT("def")));
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
+
int int1;
r = config->Read(wxT("int1"), &int1, 123);
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
+
int int2 = config->Read(wxT("int2"), 1234);
CPPUNIT_ASSERT_EQUAL( int2, 1234 );
+ read++;
+
long long1;
r = config->Read(wxString(wxT("long1")), &long1, 234L);
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
+
double double1;
r = config->Read(wxT("double1"), &double1, 345.67);
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
+
bool bool1;
r = config->Read(wxT("bool1"), &bool1, true);
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
+
#ifdef wxHAS_CONFIG_TEMPLATE_RW
wxColour color1;
r = config->Read(wxT("color1"), &color1, wxColour(11,22,33,44));
CPPUNIT_ASSERT_EQUAL( has_values, r );
+ read++;
#endif // wxHAS_CONFIG_TEMPLATE_RW
+
+ return read;
}
ReadValues(config, false);
CPPUNIT_ASSERT_EQUAL( 0, config->GetNumberOfEntries() );
config->SetRecordDefaults(true);
- ReadValues(config, false);
- CPPUNIT_ASSERT_EQUAL( 10, config->GetNumberOfEntries() );
+ int read = ReadValues(config, false);
+ CPPUNIT_ASSERT_EQUAL( read, config->GetNumberOfEntries() );
ReadValues(config, true);
config->DeleteAll();
delete config;
}
-
+#endif //wxUSE_CONFIG