summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--dbus/dbus-sysdeps-util.c42
2 files changed, 43 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 69de81c5..f1f9ed30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-12-13 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus-sysdeps-util.c: added win32 related tests
+
2006-12-12 Ralf Habacker <ralf.habacker@freenet.de>
* dbus/dbus-string.c (_dbus_string_pop_line),
diff --git a/dbus/dbus-sysdeps-util.c b/dbus/dbus-sysdeps-util.c
index 698b893e..37f2c13a 100644
--- a/dbus/dbus-sysdeps-util.c
+++ b/dbus/dbus-sysdeps-util.c
@@ -81,7 +81,28 @@ _dbus_sysdeps_test (void)
DBusString str;
double val;
int pos;
-
+
+#ifdef DBUS_WIN
+ check_dirname ("foo\\bar", "foo");
+ check_dirname ("foo\\\\bar", "foo");
+ check_dirname ("foo/\\/bar", "foo");
+ check_dirname ("foo\\bar/", "foo");
+ check_dirname ("foo//bar\\", "foo");
+ check_dirname ("foo\\bar/", "foo");
+ check_dirname ("foo/bar\\\\", "foo");
+ check_dirname ("\\foo", "\\");
+ check_dirname ("\\\\foo", "\\");
+ check_dirname ("\\", "\\");
+ check_dirname ("\\\\", "\\");
+ check_dirname ("\\/", "\\");
+ check_dirname ("/\\/", "/");
+ check_dirname ("c:\\foo\\bar", "c:\\foo");
+ check_dirname ("c:\\foo", "c:\\");
+ check_dirname ("c:/foo", "c:/");
+ check_dirname ("c:\\", "c:\\");
+ check_dirname ("c:/", "c:/");
+ check_dirname ("", ".");
+#else
check_dirname ("foo", ".");
check_dirname ("foo/bar", "foo");
check_dirname ("foo//bar", "foo");
@@ -100,7 +121,7 @@ _dbus_sysdeps_test (void)
check_dirname ("/", "/");
check_dirname ("///", "/");
check_dirname ("", ".");
-
+#endif
_dbus_string_init_const (&str, "3.5");
if (!_dbus_string_parse_double (&str,
@@ -137,12 +158,27 @@ _dbus_sysdeps_test (void)
_dbus_warn ("_dbus_string_parse_double of \"0xff\" returned wrong position %d", pos);
exit (1);
}
-
+#ifdef DBUS_WIN
+ check_path_absolute ("c:/", TRUE);
+ check_path_absolute ("c:/foo", TRUE);
+ check_path_absolute ("", FALSE);
+ check_path_absolute ("foo", FALSE);
+ check_path_absolute ("foo/bar", FALSE);
+ check_path_absolute ("", FALSE);
+ check_path_absolute ("foo\\bar", FALSE);
+ check_path_absolute ("c:\\", TRUE);
+ check_path_absolute ("c:\\foo", TRUE);
+ check_path_absolute ("c:", TRUE);
+ check_path_absolute ("c:\\foo\\bar", TRUE);
+ check_path_absolute ("\\", TRUE);
+ check_path_absolute ("/", TRUE);
+#else
check_path_absolute ("/", TRUE);
check_path_absolute ("/foo", TRUE);
check_path_absolute ("", FALSE);
check_path_absolute ("foo", FALSE);
check_path_absolute ("foo/bar", FALSE);
+#endif
return TRUE;
}