]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/console/console.cpp
Define SF_UNICODE if undefined
[wxWidgets.git] / samples / console / console.cpp
index 051b4e253db50cf0dc8e27a2237436dd14ed9692..c727d7ffe96f93f6581401faa7d62bce8dc1ee54 100644 (file)
@@ -740,6 +740,17 @@ static void TestFileConfRead()
 
 #include "wx/filename.h"
 
+static void DumpFileName(const wxFileName& fn)
+{
+    wxString full = fn.GetFullPath();
+
+    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"),
+             full.c_str(), vol.c_str(), path.c_str(), name.c_str(), ext.c_str());
+}
+
 static struct FileNameInfo
 {
     const wxChar *fullname;
@@ -873,6 +884,48 @@ static void TestFileNameTemp()
     }
 }
 
+static void TestFileNameMakeRelative()
+{
+    puts("*** testing wxFileName::MakeRelativeTo() ***");
+
+    for ( size_t n = 0; n < WXSIZEOF(filenames); n++ )
+    {
+        const FileNameInfo& fni = filenames[n];
+
+        wxFileName fn(fni.fullname, fni.format);
+
+        // choose the base dir of the same format
+        wxString base;
+        switch ( fni.format )
+        {
+            case wxPATH_UNIX:
+                base = "/usr/bin/";
+                break;
+
+            case wxPATH_DOS:
+                base = "c:\\";
+                break;
+
+            case wxPATH_MAC:
+            case wxPATH_VMS:
+                // TODO: I don't know how this is supposed to work there
+                continue;
+        }
+
+        printf("'%s' relative to '%s': ",
+               fn.GetFullPath(fni.format).c_str(), base.c_str());
+
+        if ( !fn.MakeRelativeTo(base, fni.format) )
+        {
+            puts("unchanged");
+        }
+        else
+        {
+            printf("'%s'\n", fn.GetFullPath(fni.format).c_str());
+        }
+    }
+}
+
 static void TestFileNameComparison()
 {
     // TODO!
@@ -5216,11 +5269,20 @@ int main(int argc, char **argv)
 #endif // TEST_FILE
 
 #ifdef TEST_FILENAME
-    TestFileNameTemp();
+    if ( 0 )
+    {
+        wxFileName fn;
+        fn.Assign("c:\\foo", "bar.baz");
+
+        DumpFileName(fn);
+    }
+
+    TestFileNameMakeRelative();
     if ( 0 )
     {
     TestFileNameConstruction();
     TestFileNameSplit();
+    TestFileNameTemp();
         TestFileNameCwd();
         TestFileNameComparison();
         TestFileNameOperations();