// headers
// ----------------------------------------------------------------------------
-#include <wx/defs.h>
+#include "wx/defs.h"
#if wxUSE_GUI
#error "This sample can't be compiled in GUI mode."
#include <stdio.h>
-#include <wx/string.h>
-#include <wx/file.h>
-#include <wx/app.h>
+#include "wx/string.h"
+#include "wx/file.h"
+#include "wx/app.h"
// without this pragma, the stupid compiler precompiles #defines below so that
// changing them doesn't "take place" later!
//#define TEST_ENVIRON
//#define TEST_EXECUTE
//#define TEST_FILE
-//#define TEST_FILECONF
+#define TEST_FILECONF
//#define TEST_FILENAME
+//#define TEST_FILETIME
//#define TEST_FTP
//#define TEST_HASH
-#define TEST_INFO_FUNCTIONS
+//#define TEST_INFO_FUNCTIONS
//#define TEST_LIST
//#define TEST_LOCALE
//#define TEST_LOG
//#define TEST_ZLIB
#ifdef TEST_SNGLINST
- #include <wx/snglinst.h>
+ #include "wx/snglinst.h"
#endif // TEST_SNGLINST
// ----------------------------------------------------------------------------
#ifdef TEST_CHARSET
-#include <wx/fontmap.h>
+#include "wx/fontmap.h"
static void TestCharset()
{
#ifdef TEST_CMDLINE
-#include <wx/cmdline.h>
-#include <wx/datetime.h>
+#include "wx/cmdline.h"
+#include "wx/datetime.h"
static void ShowCmdLine(const wxCmdLineParser& parser)
{
#ifdef TEST_DIR
-#include <wx/dir.h>
+#include "wx/dir.h"
#ifdef __UNIX__
static const wxChar *ROOTDIR = _T("/");
#ifdef TEST_DLLLOADER
-#include <wx/dynlib.h>
+#include "wx/dynlib.h"
static void TestDllLoad()
{
}
else
{
- typedef int (*strlenType)(char *);
+ typedef int (*strlenType)(const char *);
strlenType pfnStrlen = (strlenType)wxDllLoader::GetSymbol(dllHandle, FUNC_NAME);
if ( !pfnStrlen )
{
#ifdef TEST_ENVIRON
-#include <wx/utils.h>
+#include "wx/utils.h"
static wxString MyGetEnv(const wxString& var)
{
#ifdef TEST_EXECUTE
-#include <wx/utils.h>
+#include "wx/utils.h"
static void TestExecute()
{
#ifdef TEST_FILE
-#include <wx/file.h>
-#include <wx/ffile.h>
-#include <wx/textfile.h>
+#include "wx/file.h"
+#include "wx/ffile.h"
+#include "wx/textfile.h"
static void TestFileRead()
{
#ifdef TEST_FILECONF
-#include <wx/confbase.h>
-#include <wx/fileconf.h>
+#include "wx/confbase.h"
+#include "wx/fileconf.h"
static const struct FileConfTestData
{
#ifdef TEST_FILENAME
-#include <wx/filename.h>
+#include "wx/filename.h"
static struct FileNameInfo
{
#endif // TEST_FILENAME
+// ----------------------------------------------------------------------------
+// wxFileName time functions
+// ----------------------------------------------------------------------------
+
+#ifdef TEST_FILETIME
+
+#include <wx/filename.h>
+#include <wx/datetime.h>
+
+static void TestFileGetTimes()
+{
+ wxFileName fn(_T("testdata.fc"));
+
+ wxDateTime dtAccess, dtMod, dtChange;
+ if ( !fn.GetTimes(&dtAccess, &dtMod, &dtChange) )
+ {
+ wxPrintf(_T("ERROR: GetTimes() failed.\n"));
+ }
+ else
+ {
+ static const wxChar *fmt = _T("%Y-%b-%d %H:%M:%S");
+
+ wxPrintf(_T("File times for '%s':\n"), fn.GetFullPath().c_str());
+ wxPrintf(_T("Access: \t%s\n"), dtAccess.Format(fmt).c_str());
+ wxPrintf(_T("Mod/creation:\t%s\n"), dtMod.Format(fmt).c_str());
+ wxPrintf(_T("Change: \t%s\n"), dtChange.Format(fmt).c_str());
+ }
+}
+
+static void TestFileSetTimes()
+{
+ wxFileName fn(_T("testdata.fc"));
+
+ wxDateTime dtAccess, dtMod, dtChange;
+ if ( !fn.Touch() )
+ {
+ wxPrintf(_T("ERROR: Touch() failed.\n"));
+ }
+}
+
+#endif // TEST_FILETIME
+
// ----------------------------------------------------------------------------
// wxHashTable
// ----------------------------------------------------------------------------
#ifdef TEST_HASH
-#include <wx/hash.h>
+#include "wx/hash.h"
struct Foo
{
WX_DECLARE_LIST(Foo, wxListFoos);
WX_DECLARE_HASH(Foo, wxListFoos, wxHashFoos);
-#include <wx/listimpl.cpp>
+#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxListFoos);
#ifdef TEST_LIST
-#include <wx/list.h>
+#include "wx/list.h"
WX_DECLARE_LIST(Bar, wxListBars);
-#include <wx/listimpl.cpp>
+#include "wx/listimpl.cpp"
WX_DEFINE_LIST(wxListBars);
static void TestListCtor()
#ifdef TEST_MIME
-#include <wx/mimetype.h>
+#include "wx/mimetype.h"
static void TestMimeEnum()
{
#ifdef TEST_INFO_FUNCTIONS
-#include <wx/utils.h>
+#include "wx/utils.h"
static void TestDiskInfo()
{
#ifdef TEST_LONGLONG
-#include <wx/longlong.h>
-#include <wx/timer.h>
+#include "wx/longlong.h"
+#include "wx/timer.h"
// make a 64 bit number from 4 16 bit ones
#define MAKE_LL(x1, x2, x3, x4) wxLongLong((x1 << 16) | x2, (x3 << 16) | x3)
#ifdef TEST_REGEX
-#include <wx/regex.h>
+#include "wx/regex.h"
static void TestRegExCompile()
{
#ifdef TEST_REGCONF
-#include <wx/confbase.h>
-#include <wx/msw/regconf.h>
+#include "wx/confbase.h"
+#include "wx/msw/regconf.h"
static void TestRegConfWrite()
{
#ifdef TEST_REGISTRY
-#include <wx/msw/registry.h>
+#include "wx/msw/registry.h"
// I chose this one because I liked its name, but it probably only exists under
// NT
#ifdef TEST_SOCKETS
-#include <wx/socket.h>
-#include <wx/protocol/protocol.h>
-#include <wx/protocol/http.h>
+#include "wx/socket.h"
+#include "wx/protocol/protocol.h"
+#include "wx/protocol/http.h"
static void TestSocketServer()
{
#ifdef TEST_FTP
-#include <wx/protocol/ftp.h>
+#include "wx/protocol/ftp.h"
static wxFTP ftp;
#ifdef TEST_STREAMS
-#include <wx/wfstream.h>
-#include <wx/mstream.h>
+#include "wx/wfstream.h"
+#include "wx/mstream.h"
static void TestFileStream()
{
#ifdef TEST_TIMER
-#include <wx/timer.h>
-#include <wx/utils.h>
+#include "wx/timer.h"
+#include "wx/utils.h"
static void TestStopWatch()
{
#ifdef TEST_VCARD
-#include <wx/vcard.h>
+#include "wx/vcard.h"
static void DumpVObject(size_t level, const wxVCardObject& vcard)
{
#ifdef TEST_WCHAR
-#include <wx/strconv.h>
-#include <wx/fontenc.h>
-#include <wx/encconv.h>
-#include <wx/buffer.h>
+#include "wx/strconv.h"
+#include "wx/fontenc.h"
+#include "wx/encconv.h"
+#include "wx/buffer.h"
static void TestUtf8()
{
#ifdef TEST_ZLIB
-#include <wx/zstream.h>
-#include <wx/wfstream.h>
+#include "wx/zstream.h"
+#include "wx/wfstream.h"
static const wxChar *FILENAME_GZ = _T("test.gz");
static const char *TEST_DATA = "hello and hello again";
#include <math.h>
-#include <wx/date.h>
-
-#include <wx/datetime.h>
+#include "wx/date.h"
+#include "wx/datetime.h"
// the test data
struct Date
#ifdef TEST_THREADS
-#include <wx/thread.h>
+#include "wx/thread.h"
static size_t gs_counter = (size_t)-1;
static wxCriticalSection gs_critsect;
#ifdef TEST_CMDLINE
static const wxCmdLineEntryDesc cmdLineDesc[] =
{
+ { wxCMD_LINE_SWITCH, _T("h"), _T("help"), "show this help message",
+ wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
{ wxCMD_LINE_SWITCH, "v", "verbose", "be verbose" },
{ wxCMD_LINE_SWITCH, "q", "quiet", "be quiet" },
{ wxCMD_LINE_OPTION, "o", "output", "output file" },
{ wxCMD_LINE_OPTION, "i", "input", "input dir" },
- { wxCMD_LINE_OPTION, "s", "size", "output block size", wxCMD_LINE_VAL_NUMBER },
- { wxCMD_LINE_OPTION, "d", "date", "output file date", wxCMD_LINE_VAL_DATE },
+ { wxCMD_LINE_OPTION, "s", "size", "output block size",
+ wxCMD_LINE_VAL_NUMBER },
+ { wxCMD_LINE_OPTION, "d", "date", "output file date",
+ wxCMD_LINE_VAL_DATE },
{ wxCMD_LINE_PARAM, NULL, NULL, "input file",
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_MULTIPLE },
}
#endif // TEST_FILENAME
+#ifdef TEST_FILETIME
+ TestFileGetTimes();
+ TestFileSetTimes();
+#endif // TEST_FILETIME
+
#ifdef TEST_FTP
wxLog::AddTraceMask(FTP_TRACE_MASK);
if ( TestFtpConnect() )