summaryrefslogtreecommitdiff
path: root/sal/qa/osl/file/osl_File_Const.h
diff options
context:
space:
mode:
Diffstat (limited to 'sal/qa/osl/file/osl_File_Const.h')
-rw-r--r--sal/qa/osl/file/osl_File_Const.h230
1 files changed, 230 insertions, 0 deletions
diff --git a/sal/qa/osl/file/osl_File_Const.h b/sal/qa/osl/file/osl_File_Const.h
new file mode 100644
index 000000000000..2e423b1622d7
--- /dev/null
+++ b/sal/qa/osl/file/osl_File_Const.h
@@ -0,0 +1,230 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _OSL_FILE_CONST_H_
+#define _OSL_FILE_CONST_H_
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sal/types.h>
+#include <rtl/textenc.h>
+
+#include <rtl/ustring.hxx>
+#include <rtl/uri.hxx>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+
+//------------------------------------------------------------------------
+// common used string resource
+// these common used string will be used as assist resource in test
+// they are mostly OS independent, some of the resource can be reused
+// so, acommon test data repository will be better since it can be
+// shared among all test code
+//------------------------------------------------------------------------
+
+const sal_Char pBuffer_Char[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+const sal_Char pBuffer_Number[] = "1234567890";
+const sal_Char pBuffer_Blank[] = "";
+
+#define TRUNC_LEN 10;
+#define ENLARG_LEN 100;
+
+
+
+//------------------------------------------------------------------------
+// OS dependent/independent definitions/includes
+// we use FILE_PREFIX for URL prefix,
+// TEST_PLATFORM for test platform initial,
+// TEST_PLATFORM_ROOT for root dir in comrresponding platform,
+// TEST_PLATFORM_TEMP for temp dir in comrresponding platform,
+// PATH_LIST_DELIMITER for seperator of path list in comrresponding platform,
+// PATH_SEPERATOR for seperator in URL or system path in comrresponding platform,
+// PATH_MAX/MAX_PATH for max path length in comrresponding platform,
+//------------------------------------------------------------------------
+
+//------------------------------------------------------------------------
+// OS independent const definition
+//------------------------------------------------------------------------
+# define FILE_PREFIX "file:///"
+# define TEST_FILE_SIZE 1024
+
+//------------------------------------------------------------------------
+// OS dependent declaration and includes
+//------------------------------------------------------------------------
+#if ( defined UNX ) || ( defined OS2 ) //Unix
+# include <unistd.h>
+# include <limits.h>
+# include <math.h>
+# include <errno.h>
+# include <fcntl.h>
+# include <sys/stat.h>
+# if !defined(MACOSX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined (DRAGONFLY)
+# include <sys/statfs.h>
+# else
+# include <sys/param.h>
+# include <sys/mount.h>
+# endif
+# include <sys/statvfs.h>
+# include <sys/types.h>
+# define TEST_PLATFORM ""
+# define TEST_PLATFORM_ROOT "/"
+# define TEST_PLATFORM_TEMP "tmp"
+# define PATH_LIST_DELIMITER ":"
+# define PATH_SEPERATOR "/"
+#endif
+
+#if (defined WNT ) // Windows
+# include <tchar.h>
+# include <io.h>
+# include <stdio.h>
+# include <stdlib.h>
+# define PATH_MAX MAX_PATH
+# define TEST_PLATFORM "c:/"
+# define TEST_PLATFORM_ROOT "c:/"
+# define TEST_PLATFORM_TEMP "temp"
+# define PATH_LIST_DELIMITER ";"
+# define PATH_SEPERATOR "/"
+#endif
+
+
+//------------------------------------------------------------------------
+// macro definition for the ASCII array/OUString declarations,
+// we use p### for the ASCII array,
+// a### for the OUString,
+// n###Len for its length
+//------------------------------------------------------------------------
+
+#define OSLTEST_DECLARE( str_name, str_value ) \
+ ::rtl::OUString a##str_name = rtl::OUString::createFromAscii( ( str_value ) )
+
+#define OSLTEST_DECLARE_UTF8(str_name, str_value ) \
+ ::rtl::OUString a##str_name = ::rtl::Uri::decode( ::rtl::OUString::createFromAscii( ( str_value ) ), rtl_UriDecodeToIuri, RTL_TEXTENCODING_UTF8)
+
+//------------------------------------------------------------------------
+// OS independent file definition
+//------------------------------------------------------------------------
+OSLTEST_DECLARE( NullURL, "" );
+OSLTEST_DECLARE( SlashURL, PATH_SEPERATOR );
+OSLTEST_DECLARE( PreURL, FILE_PREFIX );
+OSLTEST_DECLARE( RootURL, FILE_PREFIX TEST_PLATFORM );
+
+OSLTEST_DECLARE( TempDirectoryURL, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP );
+OSLTEST_DECLARE( TempDirectorySys, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP );
+OSLTEST_DECLARE( UserDirectoryURL, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "" );
+OSLTEST_DECLARE( UserDirectorySys, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "" );
+
+//------------------------------------------------------------------------
+// common used URL:temp, canonical, root, relative, link,etc
+//------------------------------------------------------------------------
+OSLTEST_DECLARE( CanURL1, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/canonical.name" );
+OSLTEST_DECLARE( CanURL2, "ca@#;+.,$///78no\0ni..name" );
+OSLTEST_DECLARE( CanURL3, "ca@#;+.,$//tmp/678nonical//name" );
+OSLTEST_DECLARE( CanURL4, "canonical.name" );
+OSLTEST_DECLARE( TmpName1, "tmpdir" );
+OSLTEST_DECLARE( TmpName2, "tmpname" );
+OSLTEST_DECLARE( TmpName3, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir" );
+OSLTEST_DECLARE( TmpName4, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir/tmpname" );
+OSLTEST_DECLARE( TmpName5, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir/../tmpdir/./tmpname" );
+OSLTEST_DECLARE( TmpName6, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpname" );
+OSLTEST_DECLARE( TmpName7, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/noaccess" );
+OSLTEST_DECLARE( TmpName8, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpname/tmpdir" );
+OSLTEST_DECLARE( TmpName9, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir/../tmpdir/./" );
+OSLTEST_DECLARE_UTF8( TmpName10, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/%E6%9C%AA%E5%91%BD%E5%90%8Dzhgb18030" );
+
+OSLTEST_DECLARE( RelURL1, "relative/file1" );
+OSLTEST_DECLARE( RelURL2, "relative/./file2" );
+OSLTEST_DECLARE( RelURL3, "relative/../file3" );
+OSLTEST_DECLARE( RelURL4, "././relative/../file4" );
+OSLTEST_DECLARE( RelURL5, TEST_PLATFORM_TEMP "/./../" TEST_PLATFORM_TEMP );
+OSLTEST_DECLARE( LnkURL1, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/link.file" );
+OSLTEST_DECLARE( HidURL1, ".hiddenfile" );
+
+//------------------------------------------------------------------------
+// common used System Path:temp, root,etc
+//------------------------------------------------------------------------
+OSLTEST_DECLARE( RootSys, TEST_PLATFORM_ROOT );
+OSLTEST_DECLARE( SysPath1, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/system.path" );
+OSLTEST_DECLARE( SysPath2, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/system/path" );
+OSLTEST_DECLARE( SysPath3, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/tmpdir" );
+OSLTEST_DECLARE( SysPath4, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/tmpname" );
+OSLTEST_DECLARE_UTF8( SysPath5, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/%E6%9C%AA%E5%91%BD%E5%90%8Dzhgb18030" );
+OSLTEST_DECLARE( SysPathLnk, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/link.file" );
+OSLTEST_DECLARE( FifoSys, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/tmpdir/fifo" );
+
+//------------------------------------------------------------------------
+// FileType URL, we pick some canonical file in corresponding system for test:
+// socket, link, etc.
+// Note that this may be changed in the different platform, so be careful to use.
+//------------------------------------------------------------------------
+#if ( defined UNX ) || ( defined OS2 ) // Unix
+OSLTEST_DECLARE( TypeURL1, FILE_PREFIX "dev/ccv"); //socket Solaris/Linux
+OSLTEST_DECLARE( TypeURL2, FILE_PREFIX "devices/pseudo/tcp@0:tcp"); //special Solaris/Linux
+OSLTEST_DECLARE( TypeURL3, FILE_PREFIX "lib" ); //link Solaris
+#else // Windows
+OSLTEST_DECLARE( TypeURL1, FILE_PREFIX "" );
+OSLTEST_DECLARE( TypeURL2, FILE_PREFIX "" );
+OSLTEST_DECLARE( TypeURL3, FILE_PREFIX "" );
+#endif
+
+//------------------------------------------------------------------------
+// Volume device URL, we pick some canonical volume device for test:
+// UNIX file system, Floppy Disk, Proc file system, Temp file system, Compact Disk.
+//------------------------------------------------------------------------
+#if ( defined UNX ) || ( defined OS2 ) // Unix
+OSLTEST_DECLARE( VolURL1, FILE_PREFIX ""); //ufs Solaris/Linux
+#ifdef SOLARIS
+OSLTEST_DECLARE( VolURL2, FILE_PREFIX "dev/fd" ); //fd Solaris
+#else
+OSLTEST_DECLARE( VolURL2, FILE_PREFIX "dev/floppy/0u1440" ); //fd0 Linux
+#endif
+OSLTEST_DECLARE( VolURL3, FILE_PREFIX "proc" ); //proc Solaris/Linux
+OSLTEST_DECLARE( VolURL4, FILE_PREFIX "staroffice" ); //nfs Solaris/Linux
+OSLTEST_DECLARE( VolURL5, FILE_PREFIX "tmp" ); //tmpfs Solaris
+OSLTEST_DECLARE( VolURL6, FILE_PREFIX "cdrom" ); //cd Solaris
+#else // Windows
+OSLTEST_DECLARE( VolURL1, FILE_PREFIX "c:/" );
+OSLTEST_DECLARE( VolURL2, FILE_PREFIX "a:/" );
+OSLTEST_DECLARE( VolURL3, FILE_PREFIX "" );
+OSLTEST_DECLARE( VolURL4, FILE_PREFIX "" );
+OSLTEST_DECLARE( VolURL5, FILE_PREFIX "c:/temp" );
+OSLTEST_DECLARE( VolURL6, FILE_PREFIX "e:/" );
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _OSL_FILE_CONST_H_ */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */