remove some tests from the console sample:

- wxLog already has a better cppunit test class
- wxLocale test in the console sample didn't work on Windows and wasn't very useful

move some tests from the console sample to CppUnit tests:
- wxPathList => PathListTestCase
- wxModule => ModuleTestCase

remove some tests about removed functions of wxMimeTypesManager

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2010-06-06 14:21:27 +00:00
parent 0ef5cba62e
commit 49e323a5b5
14 changed files with 293 additions and 497 deletions

View File

@@ -111,12 +111,6 @@
#define TEST_FILE #define TEST_FILE
#define TEST_FILENAME #define TEST_FILENAME
#define TEST_FILETIME #define TEST_FILETIME
#define TEST_INFO_FUNCTIONS
#define TEST_LOCALE
#define TEST_LOG
#define TEST_MIME
#define TEST_MODULE
#define TEST_PATHLIST
#else // #if TEST_ALL #else // #if TEST_ALL
#define TEST_DATETIME #define TEST_DATETIME
#define TEST_VOLUME #define TEST_VOLUME
@@ -125,6 +119,8 @@
#define TEST_FTP #define TEST_FTP
#define TEST_SNGLINST #define TEST_SNGLINST
#define TEST_REGEX #define TEST_REGEX
#define TEST_INFO_FUNCTIONS
#define TEST_MIME
#endif #endif
// some tests are interactive, define this to run them // some tests are interactive, define this to run them
@@ -766,306 +762,6 @@ static void TestFileSetTimes()
#endif // TEST_FILETIME #endif // TEST_FILETIME
// ----------------------------------------------------------------------------
// wxLocale
// ----------------------------------------------------------------------------
#ifdef TEST_LOCALE
#include "wx/intl.h"
#include "wx/utils.h" // for wxSetEnv
static wxLocale gs_localeDefault;
// NOTE: don't init it here as it needs a wxAppTraits object
// and thus must be init-ed after creation of the wxInitializer
// class in the main()
// find the name of the language from its value
static const wxChar *GetLangName(int lang)
{
static const wxChar *languageNames[] =
{
wxT("DEFAULT"),
wxT("UNKNOWN"),
wxT("ABKHAZIAN"),
wxT("AFAR"),
wxT("AFRIKAANS"),
wxT("ALBANIAN"),
wxT("AMHARIC"),
wxT("ARABIC"),
wxT("ARABIC_ALGERIA"),
wxT("ARABIC_BAHRAIN"),
wxT("ARABIC_EGYPT"),
wxT("ARABIC_IRAQ"),
wxT("ARABIC_JORDAN"),
wxT("ARABIC_KUWAIT"),
wxT("ARABIC_LEBANON"),
wxT("ARABIC_LIBYA"),
wxT("ARABIC_MOROCCO"),
wxT("ARABIC_OMAN"),
wxT("ARABIC_QATAR"),
wxT("ARABIC_SAUDI_ARABIA"),
wxT("ARABIC_SUDAN"),
wxT("ARABIC_SYRIA"),
wxT("ARABIC_TUNISIA"),
wxT("ARABIC_UAE"),
wxT("ARABIC_YEMEN"),
wxT("ARMENIAN"),
wxT("ASSAMESE"),
wxT("AYMARA"),
wxT("AZERI"),
wxT("AZERI_CYRILLIC"),
wxT("AZERI_LATIN"),
wxT("BASHKIR"),
wxT("BASQUE"),
wxT("BELARUSIAN"),
wxT("BENGALI"),
wxT("BHUTANI"),
wxT("BIHARI"),
wxT("BISLAMA"),
wxT("BRETON"),
wxT("BULGARIAN"),
wxT("BURMESE"),
wxT("CAMBODIAN"),
wxT("CATALAN"),
wxT("CHINESE"),
wxT("CHINESE_SIMPLIFIED"),
wxT("CHINESE_TRADITIONAL"),
wxT("CHINESE_HONGKONG"),
wxT("CHINESE_MACAU"),
wxT("CHINESE_SINGAPORE"),
wxT("CHINESE_TAIWAN"),
wxT("CORSICAN"),
wxT("CROATIAN"),
wxT("CZECH"),
wxT("DANISH"),
wxT("DUTCH"),
wxT("DUTCH_BELGIAN"),
wxT("ENGLISH"),
wxT("ENGLISH_UK"),
wxT("ENGLISH_US"),
wxT("ENGLISH_AUSTRALIA"),
wxT("ENGLISH_BELIZE"),
wxT("ENGLISH_BOTSWANA"),
wxT("ENGLISH_CANADA"),
wxT("ENGLISH_CARIBBEAN"),
wxT("ENGLISH_DENMARK"),
wxT("ENGLISH_EIRE"),
wxT("ENGLISH_JAMAICA"),
wxT("ENGLISH_NEW_ZEALAND"),
wxT("ENGLISH_PHILIPPINES"),
wxT("ENGLISH_SOUTH_AFRICA"),
wxT("ENGLISH_TRINIDAD"),
wxT("ENGLISH_ZIMBABWE"),
wxT("ESPERANTO"),
wxT("ESTONIAN"),
wxT("FAEROESE"),
wxT("FARSI"),
wxT("FIJI"),
wxT("FINNISH"),
wxT("FRENCH"),
wxT("FRENCH_BELGIAN"),
wxT("FRENCH_CANADIAN"),
wxT("FRENCH_LUXEMBOURG"),
wxT("FRENCH_MONACO"),
wxT("FRENCH_SWISS"),
wxT("FRISIAN"),
wxT("GALICIAN"),
wxT("GEORGIAN"),
wxT("GERMAN"),
wxT("GERMAN_AUSTRIAN"),
wxT("GERMAN_BELGIUM"),
wxT("GERMAN_LIECHTENSTEIN"),
wxT("GERMAN_LUXEMBOURG"),
wxT("GERMAN_SWISS"),
wxT("GREEK"),
wxT("GREENLANDIC"),
wxT("GUARANI"),
wxT("GUJARATI"),
wxT("HAUSA"),
wxT("HEBREW"),
wxT("HINDI"),
wxT("HUNGARIAN"),
wxT("ICELANDIC"),
wxT("INDONESIAN"),
wxT("INTERLINGUA"),
wxT("INTERLINGUE"),
wxT("INUKTITUT"),
wxT("INUPIAK"),
wxT("IRISH"),
wxT("ITALIAN"),
wxT("ITALIAN_SWISS"),
wxT("JAPANESE"),
wxT("JAVANESE"),
wxT("KANNADA"),
wxT("KASHMIRI"),
wxT("KASHMIRI_INDIA"),
wxT("KAZAKH"),
wxT("KERNEWEK"),
wxT("KINYARWANDA"),
wxT("KIRGHIZ"),
wxT("KIRUNDI"),
wxT("KONKANI"),
wxT("KOREAN"),
wxT("KURDISH"),
wxT("LAOTHIAN"),
wxT("LATIN"),
wxT("LATVIAN"),
wxT("LINGALA"),
wxT("LITHUANIAN"),
wxT("MACEDONIAN"),
wxT("MALAGASY"),
wxT("MALAY"),
wxT("MALAYALAM"),
wxT("MALAY_BRUNEI_DARUSSALAM"),
wxT("MALAY_MALAYSIA"),
wxT("MALTESE"),
wxT("MANIPURI"),
wxT("MAORI"),
wxT("MARATHI"),
wxT("MOLDAVIAN"),
wxT("MONGOLIAN"),
wxT("NAURU"),
wxT("NEPALI"),
wxT("NEPALI_INDIA"),
wxT("NORWEGIAN_BOKMAL"),
wxT("NORWEGIAN_NYNORSK"),
wxT("OCCITAN"),
wxT("ORIYA"),
wxT("OROMO"),
wxT("PASHTO"),
wxT("POLISH"),
wxT("PORTUGUESE"),
wxT("PORTUGUESE_BRAZILIAN"),
wxT("PUNJABI"),
wxT("QUECHUA"),
wxT("RHAETO_ROMANCE"),
wxT("ROMANIAN"),
wxT("RUSSIAN"),
wxT("RUSSIAN_UKRAINE"),
wxT("SAMOAN"),
wxT("SANGHO"),
wxT("SANSKRIT"),
wxT("SCOTS_GAELIC"),
wxT("SERBIAN"),
wxT("SERBIAN_CYRILLIC"),
wxT("SERBIAN_LATIN"),
wxT("SERBO_CROATIAN"),
wxT("SESOTHO"),
wxT("SETSWANA"),
wxT("SHONA"),
wxT("SINDHI"),
wxT("SINHALESE"),
wxT("SISWATI"),
wxT("SLOVAK"),
wxT("SLOVENIAN"),
wxT("SOMALI"),
wxT("SPANISH"),
wxT("SPANISH_ARGENTINA"),
wxT("SPANISH_BOLIVIA"),
wxT("SPANISH_CHILE"),
wxT("SPANISH_COLOMBIA"),
wxT("SPANISH_COSTA_RICA"),
wxT("SPANISH_DOMINICAN_REPUBLIC"),
wxT("SPANISH_ECUADOR"),
wxT("SPANISH_EL_SALVADOR"),
wxT("SPANISH_GUATEMALA"),
wxT("SPANISH_HONDURAS"),
wxT("SPANISH_MEXICAN"),
wxT("SPANISH_MODERN"),
wxT("SPANISH_NICARAGUA"),
wxT("SPANISH_PANAMA"),
wxT("SPANISH_PARAGUAY"),
wxT("SPANISH_PERU"),
wxT("SPANISH_PUERTO_RICO"),
wxT("SPANISH_URUGUAY"),
wxT("SPANISH_US"),
wxT("SPANISH_VENEZUELA"),
wxT("SUNDANESE"),
wxT("SWAHILI"),
wxT("SWEDISH"),
wxT("SWEDISH_FINLAND"),
wxT("TAGALOG"),
wxT("TAJIK"),
wxT("TAMIL"),
wxT("TATAR"),
wxT("TELUGU"),
wxT("THAI"),
wxT("TIBETAN"),
wxT("TIGRINYA"),
wxT("TONGA"),
wxT("TSONGA"),
wxT("TURKISH"),
wxT("TURKMEN"),
wxT("TWI"),
wxT("UIGHUR"),
wxT("UKRAINIAN"),
wxT("URDU"),
wxT("URDU_INDIA"),
wxT("URDU_PAKISTAN"),
wxT("UZBEK"),
wxT("UZBEK_CYRILLIC"),
wxT("UZBEK_LATIN"),
wxT("VIETNAMESE"),
wxT("VOLAPUK"),
wxT("WELSH"),
wxT("WOLOF"),
wxT("XHOSA"),
wxT("YIDDISH"),
wxT("YORUBA"),
wxT("ZHUANG"),
wxT("ZULU"),
};
if ( (size_t)lang < WXSIZEOF(languageNames) )
return languageNames[lang];
else
return wxT("INVALID");
}
static void TestDefaultLang()
{
wxPuts(wxT("*** Testing wxLocale::GetSystemLanguage ***"));
gs_localeDefault.Init(wxLANGUAGE_ENGLISH);
static const wxChar *langStrings[] =
{
NULL, // system default
wxT("C"),
wxT("fr"),
wxT("fr_FR"),
wxT("en"),
wxT("en_GB"),
wxT("en_US"),
wxT("de_DE.iso88591"),
wxT("german"),
wxT("?"), // invalid lang spec
wxT("klingonese"), // I bet on some systems it does exist...
};
wxPrintf(wxT("The default system encoding is %s (%d)\n"),
wxLocale::GetSystemEncodingName().c_str(),
wxLocale::GetSystemEncoding());
for ( size_t n = 0; n < WXSIZEOF(langStrings); n++ )
{
const wxChar *langStr = langStrings[n];
if ( langStr )
{
// FIXME: this doesn't do anything at all under Windows, we need
// to create a new wxLocale!
wxSetEnv(wxT("LC_ALL"), langStr);
}
int lang = gs_localeDefault.GetSystemLanguage();
wxPrintf(wxT("Locale for '%s' is %s.\n"),
langStr ? langStr : wxT("system default"), GetLangName(lang));
}
}
#endif // TEST_LOCALE
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// MIME types // MIME types
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -1093,7 +789,7 @@ static void TestMimeEnum()
wxTheMimeTypesManager->GetFileTypeFromMimeType(mimetypes[n]); wxTheMimeTypesManager->GetFileTypeFromMimeType(mimetypes[n]);
if ( !filetype ) if ( !filetype )
{ {
wxPrintf(wxT("nothing known about the filetype '%s'!\n"), wxPrintf(wxT(" nothing known about the filetype '%s'!\n"),
mimetypes[n].c_str()); mimetypes[n].c_str());
continue; continue;
} }
@@ -1111,7 +807,7 @@ static void TestMimeEnum()
extsAll += exts[e]; extsAll += exts[e];
} }
wxPrintf(wxT("\t%s: %s (%s)\n"), wxPrintf(wxT(" %s: %s (%s)\n"),
mimetypes[n].c_str(), desc.c_str(), extsAll.c_str()); mimetypes[n].c_str(), desc.c_str(), extsAll.c_str());
} }
@@ -1152,7 +848,7 @@ static void TestMimeFilename()
else else
cmd = wxString(wxT('"')) + cmd + wxT('"'); cmd = wxString(wxT('"')) + cmd + wxT('"');
wxPrintf(wxT("To open %s (%s) do %s.\n"), wxPrintf(wxT("To open %s (%s) run:\n %s\n"),
fname.c_str(), desc.c_str(), cmd.c_str()); fname.c_str(), desc.c_str(), cmd.c_str());
delete ft; delete ft;
@@ -1162,35 +858,6 @@ static void TestMimeFilename()
wxPuts(wxEmptyString); wxPuts(wxEmptyString);
} }
// these tests were broken by wxMimeTypesManager changes, temporarily disabling
#if 0
static void TestMimeOverride()
{
wxPuts(wxT("*** Testing wxMimeTypesManager additional files loading ***\n"));
static const wxChar *mailcap = wxT("/tmp/mailcap");
static const wxChar *mimetypes = wxT("/tmp/mime.types");
if ( wxFile::Exists(mailcap) )
wxPrintf(wxT("Loading mailcap from '%s': %s\n"),
mailcap,
wxTheMimeTypesManager->ReadMailcap(mailcap) ? wxT("ok") : wxT("ERROR"));
else
wxPrintf(wxT("WARN: mailcap file '%s' doesn't exist, not loaded.\n"),
mailcap);
if ( wxFile::Exists(mimetypes) )
wxPrintf(wxT("Loading mime.types from '%s': %s\n"),
mimetypes,
wxTheMimeTypesManager->ReadMimeTypes(mimetypes) ? wxT("ok") : wxT("ERROR"));
else
wxPrintf(wxT("WARN: mime.types file '%s' doesn't exist, not loaded.\n"),
mimetypes);
wxPuts(wxEmptyString);
}
static void TestMimeAssociate() static void TestMimeAssociate()
{ {
wxPuts(wxT("*** Testing creation of filetype association ***\n")); wxPuts(wxT("*** Testing creation of filetype association ***\n"));
@@ -1219,83 +886,8 @@ static void TestMimeAssociate()
wxPuts(wxEmptyString); wxPuts(wxEmptyString);
} }
#endif // 0
#endif // TEST_MIME #endif // TEST_MIME
// ----------------------------------------------------------------------------
// module dependencies feature
// ----------------------------------------------------------------------------
#ifdef TEST_MODULE
#include "wx/module.h"
class wxTestModule : public wxModule
{
protected:
virtual bool OnInit() { wxPrintf(wxT("Load module: %s\n"), GetClassInfo()->GetClassName()); return true; }
virtual void OnExit() { wxPrintf(wxT("Unload module: %s\n"), GetClassInfo()->GetClassName()); }
};
class wxTestModuleA : public wxTestModule
{
public:
wxTestModuleA();
private:
DECLARE_DYNAMIC_CLASS(wxTestModuleA)
};
class wxTestModuleB : public wxTestModule
{
public:
wxTestModuleB();
private:
DECLARE_DYNAMIC_CLASS(wxTestModuleB)
};
class wxTestModuleC : public wxTestModule
{
public:
wxTestModuleC();
private:
DECLARE_DYNAMIC_CLASS(wxTestModuleC)
};
class wxTestModuleD : public wxTestModule
{
public:
wxTestModuleD();
private:
DECLARE_DYNAMIC_CLASS(wxTestModuleD)
};
IMPLEMENT_DYNAMIC_CLASS(wxTestModuleC, wxModule)
wxTestModuleC::wxTestModuleC()
{
AddDependency(CLASSINFO(wxTestModuleD));
}
IMPLEMENT_DYNAMIC_CLASS(wxTestModuleA, wxModule)
wxTestModuleA::wxTestModuleA()
{
AddDependency(CLASSINFO(wxTestModuleB));
AddDependency(CLASSINFO(wxTestModuleD));
}
IMPLEMENT_DYNAMIC_CLASS(wxTestModuleD, wxModule)
wxTestModuleD::wxTestModuleD()
{
}
IMPLEMENT_DYNAMIC_CLASS(wxTestModuleB, wxModule)
wxTestModuleB::wxTestModuleB()
{
AddDependency(CLASSINFO(wxTestModuleD));
AddDependency(CLASSINFO(wxTestModuleC));
}
#endif // TEST_MODULE
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// misc information functions // misc information functions
@@ -1313,12 +905,15 @@ static void TestDiskInfo()
for ( ;; ) for ( ;; )
{ {
wxChar pathname[128]; wxChar pathname[128];
wxPrintf(wxT("\nEnter a directory name: ")); wxPrintf(wxT("\nEnter a directory name (or 'quit' to escape): "));
if ( !wxFgets(pathname, WXSIZEOF(pathname), stdin) ) if ( !wxFgets(pathname, WXSIZEOF(pathname), stdin) )
break; break;
// kill the last '\n' // kill the last '\n'
pathname[wxStrlen(pathname) - 1] = 0; pathname[wxStrlen(pathname) - 1] = 0;
if (wxStrcmp(pathname, "quit") == 0)
break;
wxLongLong total, free; wxLongLong total, free;
if ( !wxGetDiskSpace(pathname, &total, &free) ) if ( !wxGetDiskSpace(pathname, &total, &free) )
@@ -1384,37 +979,6 @@ static void TestUserInfo()
#endif // TEST_INFO_FUNCTIONS #endif // TEST_INFO_FUNCTIONS
// ----------------------------------------------------------------------------
// path list
// ----------------------------------------------------------------------------
#ifdef TEST_PATHLIST
#ifdef __UNIX__
#define CMD_IN_PATH wxT("ls")
#else
#define CMD_IN_PATH wxT("command.com")
#endif
static void TestPathList()
{
wxPuts(wxT("*** Testing wxPathList ***\n"));
wxPathList pathlist;
pathlist.AddEnvList(wxT("PATH"));
wxString path = pathlist.FindValidPath(CMD_IN_PATH);
if ( path.empty() )
{
wxPrintf(wxT("ERROR: command not found in the path.\n"));
}
else
{
wxPrintf(wxT("Command found in the path as '%s'.\n"), path.c_str());
}
}
#endif // TEST_PATHLIST
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// regular expressions // regular expressions
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -1430,13 +994,16 @@ static void TestRegExInteractive()
for ( ;; ) for ( ;; )
{ {
wxChar pattern[128]; wxChar pattern[128];
wxPrintf(wxT("\nEnter a pattern: ")); wxPrintf(wxT("\nEnter a pattern (or 'quit' to escape): "));
if ( !wxFgets(pattern, WXSIZEOF(pattern), stdin) ) if ( !wxFgets(pattern, WXSIZEOF(pattern), stdin) )
break; break;
// kill the last '\n' // kill the last '\n'
pattern[wxStrlen(pattern) - 1] = 0; pattern[wxStrlen(pattern) - 1] = 0;
if (wxStrcmp(pattern, "quit") == 0)
break;
wxRegEx re; wxRegEx re;
if ( !re.Compile(pattern) ) if ( !re.Compile(pattern) )
{ {
@@ -1928,34 +1495,6 @@ int main(int argc, char **argv)
TestEnvironment(); TestEnvironment();
#endif // TEST_ENVIRON #endif // TEST_ENVIRON
#ifdef TEST_LOCALE
TestDefaultLang();
#endif // TEST_LOCALE
#ifdef TEST_LOG
wxPuts(wxT("*** Testing wxLog ***"));
wxString s;
for ( size_t n = 0; n < 8000; n++ )
{
s << (wxChar)(wxT('A') + (n % 26));
}
wxLogWarning(wxT("The length of the string is %lu"),
(unsigned long)s.length());
wxString msg;
msg.Printf(wxT("A very very long message: '%s', the end!\n"), s.c_str());
// this one shouldn't be truncated
wxPrintf(msg);
// but this one will because log functions use fixed size buffer
// (note that it doesn't need '\n' at the end neither - will be added
// by wxLog anyhow)
wxLogMessage(wxT("A very very long message 2: '%s', the end!"), s.c_str());
#endif // TEST_LOG
#ifdef TEST_FILE #ifdef TEST_FILE
TestFileRead(); TestFileRead();
TestTextFileRead(); TestTextFileRead();
@@ -1995,10 +1534,7 @@ int main(int argc, char **argv)
#ifdef TEST_MIME #ifdef TEST_MIME
//wxLog::AddTraceMask(wxT("mime")); //wxLog::AddTraceMask(wxT("mime"));
TestMimeEnum(); TestMimeEnum();
#if 0
TestMimeOverride();
TestMimeAssociate(); TestMimeAssociate();
#endif
TestMimeFilename(); TestMimeFilename();
#endif // TEST_MIME #endif // TEST_MIME
@@ -2012,10 +1548,6 @@ int main(int argc, char **argv)
#endif #endif
#endif // TEST_INFO_FUNCTIONS #endif // TEST_INFO_FUNCTIONS
#ifdef TEST_PATHLIST
TestPathList();
#endif // TEST_PATHLIST
#ifdef TEST_PRINTF #ifdef TEST_PRINTF
TestPrintf(); TestPrintf();
#endif // TEST_PRINTF #endif // TEST_PRINTF

View File

@@ -84,6 +84,8 @@ TEST_OBJECTS = \
test_convautotest.o \ test_convautotest.o \
test_mbconvtest.o \ test_mbconvtest.o \
test_misctests.o \ test_misctests.o \
test_module.o \
test_pathlist.o \
test_typeinfotest.o \ test_typeinfotest.o \
test_ipc.o \ test_ipc.o \
test_socket.o \ test_socket.o \
@@ -449,6 +451,12 @@ test_mbconvtest.o: $(srcdir)/mbconv/mbconvtest.cpp $(TEST_ODEP)
test_misctests.o: $(srcdir)/misc/misctests.cpp $(TEST_ODEP) test_misctests.o: $(srcdir)/misc/misctests.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/misc/misctests.cpp $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/misc/misctests.cpp
test_module.o: $(srcdir)/misc/module.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/misc/module.cpp
test_pathlist.o: $(srcdir)/misc/pathlist.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/misc/pathlist.cpp
test_typeinfotest.o: $(srcdir)/misc/typeinfotest.cpp $(TEST_ODEP) test_typeinfotest.o: $(srcdir)/misc/typeinfotest.cpp $(TEST_ODEP)
$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/misc/typeinfotest.cpp $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/misc/typeinfotest.cpp

View File

@@ -68,6 +68,8 @@ TEST_OBJECTS = \
$(OBJS)\test_convautotest.obj \ $(OBJS)\test_convautotest.obj \
$(OBJS)\test_mbconvtest.obj \ $(OBJS)\test_mbconvtest.obj \
$(OBJS)\test_misctests.obj \ $(OBJS)\test_misctests.obj \
$(OBJS)\test_module.obj \
$(OBJS)\test_pathlist.obj \
$(OBJS)\test_typeinfotest.obj \ $(OBJS)\test_typeinfotest.obj \
$(OBJS)\test_ipc.obj \ $(OBJS)\test_ipc.obj \
$(OBJS)\test_socket.obj \ $(OBJS)\test_socket.obj \
@@ -491,6 +493,12 @@ $(OBJS)\test_mbconvtest.obj: .\mbconv\mbconvtest.cpp
$(OBJS)\test_misctests.obj: .\misc\misctests.cpp $(OBJS)\test_misctests.obj: .\misc\misctests.cpp
$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\misc\misctests.cpp $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\misc\misctests.cpp
$(OBJS)\test_module.obj: .\misc\module.cpp
$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\misc\module.cpp
$(OBJS)\test_pathlist.obj: .\misc\pathlist.cpp
$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\misc\pathlist.cpp
$(OBJS)\test_typeinfotest.obj: .\misc\typeinfotest.cpp $(OBJS)\test_typeinfotest.obj: .\misc\typeinfotest.cpp
$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\misc\typeinfotest.cpp $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\misc\typeinfotest.cpp

View File

@@ -60,6 +60,8 @@ TEST_OBJECTS = \
$(OBJS)\test_convautotest.o \ $(OBJS)\test_convautotest.o \
$(OBJS)\test_mbconvtest.o \ $(OBJS)\test_mbconvtest.o \
$(OBJS)\test_misctests.o \ $(OBJS)\test_misctests.o \
$(OBJS)\test_module.o \
$(OBJS)\test_pathlist.o \
$(OBJS)\test_typeinfotest.o \ $(OBJS)\test_typeinfotest.o \
$(OBJS)\test_ipc.o \ $(OBJS)\test_ipc.o \
$(OBJS)\test_socket.o \ $(OBJS)\test_socket.o \
@@ -472,6 +474,12 @@ $(OBJS)\test_mbconvtest.o: ./mbconv/mbconvtest.cpp
$(OBJS)\test_misctests.o: ./misc/misctests.cpp $(OBJS)\test_misctests.o: ./misc/misctests.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_module.o: ./misc/module.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_pathlist.o: ./misc/pathlist.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\test_typeinfotest.o: ./misc/typeinfotest.cpp $(OBJS)\test_typeinfotest.o: ./misc/typeinfotest.cpp
$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<

View File

@@ -62,6 +62,8 @@ TEST_OBJECTS = \
$(OBJS)\test_convautotest.obj \ $(OBJS)\test_convautotest.obj \
$(OBJS)\test_mbconvtest.obj \ $(OBJS)\test_mbconvtest.obj \
$(OBJS)\test_misctests.obj \ $(OBJS)\test_misctests.obj \
$(OBJS)\test_module.obj \
$(OBJS)\test_pathlist.obj \
$(OBJS)\test_typeinfotest.obj \ $(OBJS)\test_typeinfotest.obj \
$(OBJS)\test_ipc.obj \ $(OBJS)\test_ipc.obj \
$(OBJS)\test_socket.obj \ $(OBJS)\test_socket.obj \
@@ -617,6 +619,12 @@ $(OBJS)\test_mbconvtest.obj: .\mbconv\mbconvtest.cpp
$(OBJS)\test_misctests.obj: .\misc\misctests.cpp $(OBJS)\test_misctests.obj: .\misc\misctests.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\misc\misctests.cpp $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\misc\misctests.cpp
$(OBJS)\test_module.obj: .\misc\module.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\misc\module.cpp
$(OBJS)\test_pathlist.obj: .\misc\pathlist.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\misc\pathlist.cpp
$(OBJS)\test_typeinfotest.obj: .\misc\typeinfotest.cpp $(OBJS)\test_typeinfotest.obj: .\misc\typeinfotest.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\misc\typeinfotest.cpp $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\misc\typeinfotest.cpp

View File

@@ -298,6 +298,8 @@ TEST_OBJECTS = &
$(OBJS)\test_convautotest.obj & $(OBJS)\test_convautotest.obj &
$(OBJS)\test_mbconvtest.obj & $(OBJS)\test_mbconvtest.obj &
$(OBJS)\test_misctests.obj & $(OBJS)\test_misctests.obj &
$(OBJS)\test_module.obj &
$(OBJS)\test_pathlist.obj &
$(OBJS)\test_typeinfotest.obj & $(OBJS)\test_typeinfotest.obj &
$(OBJS)\test_ipc.obj & $(OBJS)\test_ipc.obj &
$(OBJS)\test_socket.obj & $(OBJS)\test_socket.obj &
@@ -529,6 +531,12 @@ $(OBJS)\test_mbconvtest.obj : .AUTODEPEND .\mbconv\mbconvtest.cpp
$(OBJS)\test_misctests.obj : .AUTODEPEND .\misc\misctests.cpp $(OBJS)\test_misctests.obj : .AUTODEPEND .\misc\misctests.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $< $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
$(OBJS)\test_module.obj : .AUTODEPEND .\misc\module.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
$(OBJS)\test_pathlist.obj : .AUTODEPEND .\misc\pathlist.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
$(OBJS)\test_typeinfotest.obj : .AUTODEPEND .\misc\typeinfotest.cpp $(OBJS)\test_typeinfotest.obj : .AUTODEPEND .\misc\typeinfotest.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $< $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<

120
tests/misc/module.cpp Normal file
View File

@@ -0,0 +1,120 @@
///////////////////////////////////////////////////////////////////////////////
// Name: tests/misc/module.cpp
// Purpose: Test wxModule
// Author: Francesco Montorsi (extracted from console sample)
// Created: 2010-06-02
// RCS-ID: $Id$
// Copyright: (c) 2010 wxWidgets team
///////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "testprec.h"
#ifdef __BORLANDC__
# pragma hdrstop
#endif
#include "wx/module.h"
// ----------------------------------------------------------------------------
// test classes derived from wxModule
// ----------------------------------------------------------------------------
char g_strLoadOrder[256] = "\0";
class Module : public wxModule
{
protected:
virtual bool OnInit() { wxStrcat(g_strLoadOrder, GetClassInfo()->GetClassName()); return true; }
virtual void OnExit() { }
};
class ModuleA : public Module
{
public:
ModuleA();
private:
DECLARE_DYNAMIC_CLASS(ModuleA)
};
class ModuleB : public Module
{
public:
ModuleB();
private:
DECLARE_DYNAMIC_CLASS(ModuleB)
};
class ModuleC : public Module
{
public:
ModuleC();
private:
DECLARE_DYNAMIC_CLASS(ModuleC)
};
class ModuleD : public Module
{
public:
ModuleD();
private:
DECLARE_DYNAMIC_CLASS(ModuleD)
};
IMPLEMENT_DYNAMIC_CLASS(ModuleA, wxModule)
ModuleA::ModuleA()
{
AddDependency(CLASSINFO(ModuleB));
AddDependency(CLASSINFO(ModuleD));
}
IMPLEMENT_DYNAMIC_CLASS(ModuleB, wxModule)
ModuleB::ModuleB()
{
AddDependency(CLASSINFO(ModuleC));
AddDependency(CLASSINFO(ModuleD));
}
IMPLEMENT_DYNAMIC_CLASS(ModuleC, wxModule)
ModuleC::ModuleC()
{
AddDependency(CLASSINFO(ModuleD));
}
IMPLEMENT_DYNAMIC_CLASS(ModuleD, wxModule)
ModuleD::ModuleD()
{
}
// ----------------------------------------------------------------------------
// test class
// ----------------------------------------------------------------------------
class ModuleTestCase : public CppUnit::TestCase
{
public:
ModuleTestCase() { }
private:
CPPUNIT_TEST_SUITE( ModuleTestCase );
CPPUNIT_TEST( LoadOrder );
CPPUNIT_TEST_SUITE_END();
void LoadOrder();
DECLARE_NO_COPY_CLASS(ModuleTestCase)
};
// register in the unnamed registry so that these tests are run by default
CPPUNIT_TEST_SUITE_REGISTRATION( ModuleTestCase );
// also include in it's own registry so that these tests can be run alone
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ModuleTestCase, "ModuleTestCase" );
void ModuleTestCase::LoadOrder()
{
// module D is the only one with no dependencies and so should load as first (and so on):
CPPUNIT_ASSERT_EQUAL( "ModuleDModuleCModuleBModuleA", g_strLoadOrder );
}

62
tests/misc/pathlist.cpp Normal file
View File

@@ -0,0 +1,62 @@
///////////////////////////////////////////////////////////////////////////////
// Name: tests/misc/pathlist.cpp
// Purpose: Test wxPathList
// Author: Francesco Montorsi (extracted from console sample)
// Created: 2010-06-02
// RCS-ID: $Id$
// Copyright: (c) 2010 wxWidgets team
///////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "testprec.h"
#ifdef __BORLANDC__
# pragma hdrstop
#endif
#include "wx/filefn.h"
// ----------------------------------------------------------------------------
// test class
// ----------------------------------------------------------------------------
class PathListTestCase : public CppUnit::TestCase
{
public:
PathListTestCase() { }
private:
CPPUNIT_TEST_SUITE( PathListTestCase );
CPPUNIT_TEST( FindValidPath );
CPPUNIT_TEST_SUITE_END();
void FindValidPath();
DECLARE_NO_COPY_CLASS(PathListTestCase)
};
// register in the unnamed registry so that these tests are run by default
CPPUNIT_TEST_SUITE_REGISTRATION( PathListTestCase );
// also include in it's own registry so that these tests can be run alone
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( PathListTestCase, "PathListTestCase" );
void PathListTestCase::FindValidPath()
{
#ifdef __UNIX__
#define CMD_IN_PATH wxT("ls")
#else
#define CMD_IN_PATH wxT("cmd.exe")
#endif
wxPathList pathlist;
pathlist.AddEnvList(wxT("PATH"));
wxString path = pathlist.FindValidPath(CMD_IN_PATH);
CPPUNIT_ASSERT( !path.empty() );
}

View File

@@ -59,6 +59,8 @@
mbconv/convautotest.cpp mbconv/convautotest.cpp
mbconv/mbconvtest.cpp mbconv/mbconvtest.cpp
misc/misctests.cpp misc/misctests.cpp
misc/module.cpp
misc/pathlist.cpp
misc/typeinfotest.cpp misc/typeinfotest.cpp
net/ipc.cpp net/ipc.cpp
net/socket.cpp net/socket.cpp

View File

@@ -401,6 +401,14 @@ SOURCE=.\misc\misctests.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\misc\module.cpp
# End Source File
# Begin Source File
SOURCE=.\misc\pathlist.cpp
# End Source File
# Begin Source File
SOURCE=.\thread\queue.cpp SOURCE=.\thread\queue.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@@ -736,6 +736,12 @@
<File <File
RelativePath=".\misc\misctests.cpp"> RelativePath=".\misc\misctests.cpp">
</File> </File>
<File
RelativePath=".\misc\module.cpp">
</File>
<File
RelativePath=".\misc\pathlist.cpp">
</File>
<File <File
RelativePath=".\thread\queue.cpp"> RelativePath=".\thread\queue.cpp">
</File> </File>

View File

@@ -1055,6 +1055,14 @@
RelativePath=".\misc\misctests.cpp" RelativePath=".\misc\misctests.cpp"
> >
</File> </File>
<File
RelativePath=".\misc\module.cpp"
>
</File>
<File
RelativePath=".\misc\pathlist.cpp"
>
</File>
<File <File
RelativePath=".\thread\queue.cpp" RelativePath=".\thread\queue.cpp"
> >

View File

@@ -1019,6 +1019,14 @@
RelativePath=".\misc\misctests.cpp" RelativePath=".\misc\misctests.cpp"
> >
</File> </File>
<File
RelativePath=".\misc\module.cpp"
>
</File>
<File
RelativePath=".\misc\pathlist.cpp"
>
</File>
<File <File
RelativePath=".\thread\queue.cpp" RelativePath=".\thread\queue.cpp"
> >

View File

@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<!--
This project was generated by
Bakefile 0.2.8 (http://www.bakefile.org)
Do not modify, all changes will be overwritten!
-->
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="9,00" Version="9.00"
Name="test_gui" Name="test_gui"
ProjectGUID="{9BB295D9-A6AA-510D-AA0D-9375B5D91025}" ProjectGUID="{9BB295D9-A6AA-510D-AA0D-9375B5D91025}"
TargetFrameworkVersion="0"
> >
<Platforms> <Platforms>
<Platform <Platform
@@ -12,6 +18,7 @@
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
@@ -44,7 +51,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalOptions="/MP" AdditionalOptions="/MP"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories=".\..\lib\vc_lib\mswud;.\..\include;.;.\..\samples;f:\cppunit\include" AdditionalIncludeDirectories=".\..\lib\vc_lib\mswud;.\..\include;.;.\..\samples"
PreprocessorDefinitions="WIN32;_DEBUG;__WXMSW__;_UNICODE;NOPCH;_CONSOLE" PreprocessorDefinitions="WIN32;_DEBUG;__WXMSW__;_UNICODE;NOPCH;_CONSOLE"
ExceptionHandling="1" ExceptionHandling="1"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@@ -79,7 +86,7 @@
OutputFile="vc_mswud\test_gui.exe" OutputFile="vc_mswud\test_gui.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="true" SuppressStartupBanner="true"
AdditionalLibraryDirectories=".\..\lib\vc_lib;f:\cppunit\lib" AdditionalLibraryDirectories=".\..\lib\vc_lib"
GenerateManifest="true" GenerateManifest="true"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswud\test_gui.pdb" ProgramDatabaseFile="vc_mswud\test_gui.pdb"
@@ -97,8 +104,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswud\test_vc9_test_gui.bsc" OutputFile="vc_mswud\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -178,9 +185,9 @@
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswu\test_gui.pdb" ProgramDatabaseFile="vc_mswu\test_gui.pdb"
SubSystem="1" SubSystem="1"
TargetMachine="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -193,8 +200,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswu\test_vc9_test_gui.bsc" OutputFile="vc_mswu\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -289,8 +296,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswunivud\test_vc9_test_gui.bsc" OutputFile="vc_mswunivud\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -370,9 +377,9 @@
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivu\test_gui.pdb" ProgramDatabaseFile="vc_mswunivu\test_gui.pdb"
SubSystem="1" SubSystem="1"
TargetMachine="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -385,8 +392,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswunivu\test_vc9_test_gui.bsc" OutputFile="vc_mswunivu\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -481,8 +488,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswuddll\test_vc9_test_gui.bsc" OutputFile="vc_mswuddll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -562,9 +569,9 @@
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswudll\test_gui.pdb" ProgramDatabaseFile="vc_mswudll\test_gui.pdb"
SubSystem="1" SubSystem="1"
TargetMachine="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -577,8 +584,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswudll\test_vc9_test_gui.bsc" OutputFile="vc_mswudll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -673,8 +680,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswunivuddll\test_vc9_test_gui.bsc" OutputFile="vc_mswunivuddll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -754,9 +761,9 @@
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="vc_mswunivudll\test_gui.pdb" ProgramDatabaseFile="vc_mswunivudll\test_gui.pdb"
SubSystem="1" SubSystem="1"
TargetMachine="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1"
/> />
<Tool <Tool
Name="VCALinkTool" Name="VCALinkTool"
@@ -769,8 +776,8 @@
/> />
<Tool <Tool
Name="VCBscMakeTool" Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile="vc_mswunivudll\test_vc9_test_gui.bsc" OutputFile="vc_mswunivudll\test_vc9_test_gui.bsc"
SuppressStartupBanner="true"
/> />
<Tool <Tool
Name="VCFxCopTool" Name="VCFxCopTool"
@@ -784,6 +791,7 @@
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
@@ -992,5 +1000,7 @@
</Filter> </Filter>
</Files> </Files>
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>