#undef TEST_ALL
static const bool TEST_ALL = TRUE;
#else
- #define TEST_FILENAME
+ #define TEST_ZLIB
static const bool TEST_ALL = FALSE;
#endif
{
public:
Bar(const wxString& name) : m_name(name) { ms_bars++; }
+ Bar(const Bar& bar) : m_name(bar.m_name) { ms_bars++; }
~Bar() { ms_bars--; }
static size_t GetNumber() { return ms_bars; }
wxString vol, path, name, ext;
wxFileName::SplitPath(full, &vol, &path, &name, &ext);
- wxPrintf(_T("Filename '%s' -> vol '%s', path '%s', name '%s', ext '%s'\n"),
+ wxPrintf(_T("'%s'-> vol '%s', path '%s', name '%s', ext '%s'\n"),
full.c_str(), vol.c_str(), path.c_str(), name.c_str(), ext.c_str());
+
+ wxFileName::SplitPath(full, &path, &name, &ext);
+ wxPrintf(_T("or\t\t-> path '%s', name '%s', ext '%s'\n"),
+ path.c_str(), name.c_str(), ext.c_str());
+
+ wxPrintf(_T("path is also:\t'%s'\n"), fn.GetPath().c_str());
+ wxPrintf(_T("with volume: \t'%s'\n"),
+ fn.GetPath(wxPATH_GET_VOLUME).c_str());
+ wxPrintf(_T("with separator:\t'%s'\n"),
+ fn.GetPath(wxPATH_GET_SEPARATOR).c_str());
+ wxPrintf(_T("with both: \t'%s'\n"),
+ fn.GetPath(wxPATH_GET_SEPARATOR | wxPATH_GET_VOLUME).c_str());
+
+ wxPuts(_T("The directories in the path are:"));
+ wxArrayString dirs = fn.GetDirs();
+ size_t count = dirs.GetCount();
+ for ( size_t n = 0; n < count; n++ )
+ {
+ wxPrintf(_T("\t%u: %s\n"), n, dirs[n].c_str());
+ }
}
static struct FileNameInfo
// database
// ----------------------------------------------------------------------------
+#if !wxUSE_ODBC
+ #undef TEST_ODBC
+#endif
+
#ifdef TEST_ODBC
#include <wx/db.h>
puts("*** Testing wxStopWatch ***\n");
wxStopWatch sw;
- printf("Sleeping 3 seconds...");
+ sw.Pause();
+ printf("Initially paused, after 2 seconds time is...");
+ fflush(stdout);
+ wxSleep(2);
+ printf("\t%ldms\n", sw.Time());
+
+ printf("Resuming stopwatch and sleeping 3 seconds...");
+ fflush(stdout);
+ sw.Resume();
wxSleep(3);
printf("\telapsed time: %ldms\n", sw.Time());
sw.Pause();
- printf("Sleeping 2 more seconds...");
+ printf("Pausing agan and sleeping 2 more seconds...");
+ fflush(stdout);
wxSleep(2);
printf("\telapsed time: %ldms\n", sw.Time());
sw.Resume();
- printf("And 3 more seconds...");
- wxSleep(3);
+ printf("Finally resuming and sleeping 2 more seconds...");
+ fflush(stdout);
+ wxSleep(2);
printf("\telapsed time: %ldms\n", sw.Time());
wxStopWatch sw2;
}
putchar('.');
+ fflush(stdout);
}
puts(", ok.");
// wxVolume tests
// ----------------------------------------------------------------------------
-#if !wxUSE_FSVOLUME
+#if !defined(__WIN32__) || !wxUSE_FSVOLUME
#undef TEST_VOLUME
#endif
#include "wx/wfstream.h"
static const wxChar *FILENAME_GZ = _T("test.gz");
-static const char *TEST_DATA = "hello and hello again";
+static const char *TEST_DATA = "hello and hello and hello and hello and hello";
static void TestZlibStreamWrite()
{
puts("*** Testing Zlib stream reading ***\n");
wxFileOutputStream fileOutStream(FILENAME_GZ);
- wxZlibOutputStream ostr(fileOutStream, 0);
+ wxZlibOutputStream ostr(fileOutStream);
printf("Compressing the test string... ");
- ostr.Write(TEST_DATA, sizeof(TEST_DATA));
+ ostr.Write(TEST_DATA, strlen(TEST_DATA) + 1);
if ( !ostr )
{
puts("(ERROR: failed)");
else
{
printf(" (ERROR: should be %ld, delta = %ld)\n",
- d.ticks, ticks - d.ticks);
+ (long)d.ticks, (long)(ticks - d.ticks));
}
dt = d.DT().ToTimezone(wxDateTime::GMT0);
else
{
printf(" (ERROR: should be %ld, delta = %ld)\n",
- d.gmticks, ticks - d.gmticks);
+ (long)d.gmticks, (long)(ticks - d.gmticks));
}
}
#include "wx/dynarray.h"
+typedef unsigned short ushort;
+
#define DefineCompare(name, T) \
\
int wxCMPFUNC_CONV name ## CompareValues(T first, T second) \
return *second - *first; \
} \
-DefineCompare(Short, short);
+DefineCompare(UShort, ushort);
DefineCompare(Int, int);
// test compilation of all macros
-WX_DEFINE_ARRAY(short, wxArrayShort);
-WX_DEFINE_SORTED_ARRAY(short, wxSortedArrayShortNoCmp);
-WX_DEFINE_SORTED_ARRAY_CMP(short, ShortCompareValues, wxSortedArrayShort);
-WX_DEFINE_SORTED_ARRAY_CMP(int, IntCompareValues, wxSortedArrayInt);
+WX_DEFINE_ARRAY_SHORT(ushort, wxArrayUShort);
+WX_DEFINE_SORTED_ARRAY_SHORT(ushort, wxSortedArrayUShortNoCmp);
+WX_DEFINE_SORTED_ARRAY_CMP_SHORT(ushort, UShortCompareValues, wxSortedArrayUShort);
+WX_DEFINE_SORTED_ARRAY_CMP_INT(int, IntCompareValues, wxSortedArrayInt);
WX_DECLARE_OBJARRAY(Bar, ArrayBars);
#include "wx/arrimpl.cpp"
\
wxArray##name a; \
a.Add(1); \
- a.Add(17); \
- a.Add(5); \
- a.Add(3); \
+ a.Add(17,2); \
+ a.Add(5,3); \
+ a.Add(3,4); \
\
puts("Initially:"); \
PrintArray("a", a); \
PrintArray("b", b); \
}
-TestArrayOf(Short);
+TestArrayOf(UShort);
TestArrayOf(Int);
static void TestArrayOfObjects()
{
ArrayBars bars;
- Bar bar("second bar");
+ Bar bar("second bar (two copies!)");
printf("Initially: %u objects in the array, %u objects total.\n",
bars.GetCount(), Bar::GetNumber());
bars.Add(new Bar("first bar"));
- bars.Add(bar);
+ bars.Add(bar,2);
printf("Now: %u objects in the array, %u objects total.\n",
bars.GetCount(), Bar::GetNumber());
+ bars.RemoveAt(1, bars.GetCount() - 1);
+
+ printf("After removing all but first element: %u objects in the "
+ "array, %u objects total.\n",
+ bars.GetCount(), Bar::GetNumber());
+
bars.Empty();
printf("After Empty(): %u objects in the array, %u objects total.\n",
int main(int argc, char **argv)
{
+ wxApp::CheckBuildOptions(wxBuildOptions());
+
wxInitializer initializer;
if ( !initializer )
{
wxArrayString a1;
a1.Add("tiger");
a1.Add("cat");
- a1.Add("lion");
+ a1.Add("lion", 3);
a1.Add("dog");
a1.Add("human");
a1.Add("ape");
wxSortedArrayString a3(a1);
PrintArray("a3", a3);
- puts("*** After deleting a string from a1");
- a1.Remove(2);
+ puts("*** After deleting three strings from a1");
+ a1.Remove(2,3);
PrintArray("a1", a1);
PrintArray("a2", a2);
PrintArray("a1", a1);
TestArrayOfObjects();
- TestArrayOfShorts();
+ TestArrayOfUShorts();
}
TestArrayOfInts();
#endif // TEST_FILE
#ifdef TEST_FILENAME
- if ( 0 )
+ if ( 1 )
{
wxFileName fn;
fn.Assign("c:\\foo", "bar.baz");
+ fn.Assign("/u/os9-port/Viewer/tvision/WEI2HZ-3B3-14_05-04-00MSC1.asc");
DumpFileName(fn);
}
- if ( 1 )
+ if ( TEST_ALL )
{
TestFileNameConstruction();
TestFileNameMakeRelative();
#ifdef TEST_FILETIME
TestFileGetTimes();
+ if ( 0 )
TestFileSetTimes();
#endif // TEST_FILETIME