summaryrefslogtreecommitdiffstats
path: root/src/libs/xpcom18a4/xpcom/tests/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/xpcom18a4/xpcom/tests/utils')
-rw-r--r--src/libs/xpcom18a4/xpcom/tests/utils/WhatError.cpp61
-rw-r--r--src/libs/xpcom18a4/xpcom/tests/utils/cp.js111
-rw-r--r--src/libs/xpcom18a4/xpcom/tests/utils/dirs.js155
-rw-r--r--src/libs/xpcom18a4/xpcom/tests/utils/ls.js64
4 files changed, 391 insertions, 0 deletions
diff --git a/src/libs/xpcom18a4/xpcom/tests/utils/WhatError.cpp b/src/libs/xpcom18a4/xpcom/tests/utils/WhatError.cpp
new file mode 100644
index 00000000..13942f3b
--- /dev/null
+++ b/src/libs/xpcom18a4/xpcom/tests/utils/WhatError.cpp
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 1998
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#include "nsError.h"
+#include <stdlib.h>
+#include <stdio.h>
+
+int
+main(int argc, char **argv)
+{
+ int errorCode = 0;
+ char buffer[100];
+
+ if (argc != 2)
+ return -1;
+
+ sscanf( argv[1], "0x%x", &errorCode);
+ sprintf(buffer, "%d", errorCode);
+ sscanf( buffer, "%d", &errorCode);
+
+ printf( "Code: %d, Module: %d, Severity: %d\n",
+ NS_ERROR_GET_CODE(errorCode),
+ NS_ERROR_GET_MODULE(errorCode),
+ NS_ERROR_GET_SEVERITY(errorCode));
+
+ return 0;
+}
diff --git a/src/libs/xpcom18a4/xpcom/tests/utils/cp.js b/src/libs/xpcom18a4/xpcom/tests/utils/cp.js
new file mode 100644
index 00000000..a38c120b
--- /dev/null
+++ b/src/libs/xpcom18a4/xpcom/tests/utils/cp.js
@@ -0,0 +1,111 @@
+const nsILocalFile = Components.interfaces.nsILocalFile;
+var prefix = "";
+
+function rename(source, newName)
+{
+ try {
+ var sourceFile = Components.classes["@mozilla.org/file/local;1"].
+ createInstance(nsILocalFile);
+ sourceFile.initWithPath(source);
+
+ }
+ catch (e) {
+ dump("Could not create nsILocalFile\n");
+ }
+
+
+ try {
+ sourceFile.copyTo(null, newName);
+ }
+ catch (e) {
+ dump("error coping" + e + "\n");
+ }
+}
+
+
+function cp(source, dest, followLinks, newName)
+{
+ try {
+ var sourceFile = Components.classes["@mozilla.org/file/local;1"].
+ createInstance(nsILocalFile);
+ sourceFile.initWithPath(source);
+
+ var destFile = Components.classes["@mozilla.org/file/local;1"].
+ createInstance(nsILocalFile);
+ destFile.initWithPath(dest);
+
+ }
+ catch (e) {
+ dump("Could not create nsILocalFile\n");
+ }
+
+ try {
+
+ if (! destFile.isDirectory())
+ {
+ dump("destination not a directory!\n");
+ return;
+ }
+ }
+ catch (e) {
+ dump("error accessing dest");
+ }
+
+ try {
+ if (followLinks)
+ {
+ sourceFile.copyToFollowingLinks(destFile, newName);
+ }
+ else
+ {
+ sourceFile.copyTo(destFile, newName);
+ }
+ }
+ catch (e) {
+ dump("error coping" + e + "\n");
+ }
+}
+
+
+function mv(source, dest, followLinks, newName)
+{
+ try {
+ var sourceFile = Components.classes["@mozilla.org/file/local;1"].
+ createInstance(nsILocalFile);
+ sourceFile.initWithPath(source);
+
+ var destFile = Components.classes["@mozilla.org/file/local;1"].
+ createInstance(nsILocalFile);
+ destFile.initWithPath(dest);
+
+ }
+ catch (e) {
+ dump("Could not create nsILocalFile\n");
+ }
+
+ try {
+
+ if (! destFile.isDirectory())
+ {
+ dump("destination not a directory!\n");
+ return;
+ }
+ }
+ catch (e) {
+ dump("error accessing dest");
+ }
+
+ try {
+ if (followLinks)
+ {
+ sourceFile.moveToFollowingLinks(destFile, newName);
+ }
+ else
+ {
+ sourceFile.moveTo(destFile, newName);
+ }
+ }
+ catch (e) {
+ dump("error coping" + e + "\n");
+ }
+}
diff --git a/src/libs/xpcom18a4/xpcom/tests/utils/dirs.js b/src/libs/xpcom18a4/xpcom/tests/utils/dirs.js
new file mode 100644
index 00000000..c3fc2479
--- /dev/null
+++ b/src/libs/xpcom18a4/xpcom/tests/utils/dirs.js
@@ -0,0 +1,155 @@
+function dumpPathOfProperty(prop)
+{
+ dump(prop +' = ');
+
+ try
+ {
+ var file = dsprops.get(prop, Components.interfaces.nsIFile);
+ dump(file.path + '\n');
+ }
+ catch (ar)
+ {
+ dump('undefined or error \n');
+ }
+}
+
+var dscontractid = "@mozilla.org/file/directory_service;1"; // XXX old-style
+var ds = Components.classes[dscontractid].getService();
+var dsprops = ds.QueryInterface(Components.interfaces.nsIProperties);
+
+dump("xpcom locations::\n");
+// XPCOM Locations:
+ dumpPathOfProperty ("xpcom.currentProcess");
+ dumpPathOfProperty ("xpcom.currentProcess.componentRegistry");
+ dumpPathOfProperty ("xpcom.currentProcess.componentDirectory");
+ dumpPathOfProperty ("system.OS_DriveDirectory");
+ dumpPathOfProperty ("system.OS_TemporaryDirectory");
+ dumpPathOfProperty ("system.OS_CurrentProcessDirectory");
+ dumpPathOfProperty ("system.OS_CurrentWorkingDirectory");
+
+dump("Mac locations::\n");
+// Mac
+ dumpPathOfProperty ("system.SystemDirectory");
+ dumpPathOfProperty ("system.DesktopDirectory");
+ dumpPathOfProperty ("system.TrashDirectory");
+ dumpPathOfProperty ("system.StartupDirectory");
+ dumpPathOfProperty ("system.ShutdownDirectory");
+ dumpPathOfProperty ("system.AppleMenuDirectory");
+ dumpPathOfProperty ("system.ControlPanelDirectory");
+ dumpPathOfProperty ("system.ExtensionDirectory");
+ dumpPathOfProperty ("system.FontsDirectory");
+ dumpPathOfProperty ("system.PreferencesDirectory");
+ dumpPathOfProperty ("system.DocumentsDirectory");
+ dumpPathOfProperty ("system.InternetSearchDirectory");
+
+dump("PC locations::\n");
+// PC
+ dumpPathOfProperty ("system.SystemDirectory");
+ dumpPathOfProperty ("system.WindowsDirectory");
+ dumpPathOfProperty ("system.HomeDirectory");
+ dumpPathOfProperty ("system.Desktop");
+ dumpPathOfProperty ("system.Programs");
+ dumpPathOfProperty ("system.Controls");
+ dumpPathOfProperty ("system.Printers");
+ dumpPathOfProperty ("system.Personal");
+ dumpPathOfProperty ("system.Favorites");
+ dumpPathOfProperty ("system.Startup");
+ dumpPathOfProperty ("system.Recent");
+ dumpPathOfProperty ("system.Sendto");
+ dumpPathOfProperty ("system.Bitbucket");
+ dumpPathOfProperty ("system.Startmenu");
+ dumpPathOfProperty ("system.Desktopdirectory");
+ dumpPathOfProperty ("system.Drives");
+ dumpPathOfProperty ("system.Network");
+ dumpPathOfProperty ("system.Nethood");
+ dumpPathOfProperty ("system.Fonts");
+ dumpPathOfProperty ("system.Templates");
+ dumpPathOfProperty ("system.Common_Startmenu");
+ dumpPathOfProperty ("system.Common_Programs");
+ dumpPathOfProperty ("system.Common_Startup");
+ dumpPathOfProperty ("system.Common_Desktopdirectory");
+ dumpPathOfProperty ("system.Appdata");
+ dumpPathOfProperty ("system.Printhood");
+
+dump("Unix locations::\n");
+// Unix
+
+ dumpPathOfProperty ("system.LocalDirectory");
+ dumpPathOfProperty ("system.LibDirectory");
+ dumpPathOfProperty ("system.HomeDirectory");
+
+dump("Beos locations::\n");
+// Beos
+
+ dumpPathOfProperty ("system.SettingsDirectory");
+ dumpPathOfProperty ("system.HomeDirectory");
+ dumpPathOfProperty ("system.DesktopDirectory");
+ dumpPathOfProperty ("system.SystemDirectory");
+
+dump("OS2 locations::\n");
+// OS2
+ dumpPathOfProperty ("system.SystemDirectory");
+ dumpPathOfProperty ("system.OS2Directory");
+ dumpPathOfProperty ("system.DesktopDirectory");
+
+
+// XPFE locations:
+
+
+// application Directories:
+ dumpPathOfProperty ("app.res.directory");
+ dumpPathOfProperty ("app.defaults.directory");
+ dumpPathOfProperty ("app.chrome.directory");
+ dumpPathOfProperty ("app.chrome.user.directory");
+ dumpPathOfProperty ("app.plugins.directory");
+
+// application Files:
+
+ dumpPathOfProperty ("app.registry.file.4");
+ dumpPathOfProperty ("app.registry.file.5");
+ dumpPathOfProperty ("app.local.store.file.5");
+ dumpPathOfProperty ("app.history.file.5");
+ dumpPathOfProperty ("app.user.panels.5");
+
+// Preferences:
+
+// dumpPathOfProperty ("app.prefs.directory.3");
+// dumpPathOfProperty ("app.prefs.directory.4");
+ dumpPathOfProperty ("app.prefs.directory.5");
+ dumpPathOfProperty ("app.pref.default.directory.5");
+
+// dumpPathOfProperty ("app.prefs.file.3");
+// dumpPathOfProperty ("app.prefs.file.4");
+ dumpPathOfProperty ("app.prefs.file.5");
+
+// Profile:
+
+// dumpPathOfProperty ("app.profile.user.directory.3");
+// dumpPathOfProperty ("app.profile.user.directory.4");
+ dumpPathOfProperty ("app.profile.user.directory.5");
+// dumpPathOfProperty ("app.profile.default.user.directory.3");
+// dumpPathOfProperty ("app.profile.default.user.directory.4");
+ dumpPathOfProperty ("app.profile.default.user.directory.5");
+// dumpPathOfProperty ("app.profile.defaults.directory.3");
+// dumpPathOfProperty ("app.profile.defaults.directory.4");
+ dumpPathOfProperty ("app.profile.defaults.directory.5");
+
+
+
+// Bookmarks:
+
+// dumpPathOfProperty ("app.bookmark.file.3");
+// dumpPathOfProperty ("app.bookmark.file.4");
+ dumpPathOfProperty ("app.bookmark.file.5");
+
+// Search
+ dumpPathOfProperty ("app.search.file.5");
+ dumpPathOfProperty ("app.search.directory.5");
+
+
+// MailNews:
+
+ dumpPathOfProperty ("app.mail.directory.5");
+ dumpPathOfProperty ("app.mail.imap.directory.5");
+ dumpPathOfProperty ("app.mail.news.directory.5");
+ dumpPathOfProperty ("app.mail.messenger.cache.directory.5");
diff --git a/src/libs/xpcom18a4/xpcom/tests/utils/ls.js b/src/libs/xpcom18a4/xpcom/tests/utils/ls.js
new file mode 100644
index 00000000..8ae62f06
--- /dev/null
+++ b/src/libs/xpcom18a4/xpcom/tests/utils/ls.js
@@ -0,0 +1,64 @@
+const nsILocalFile = Components.interfaces.nsILocalFile;
+var prefix = "";
+
+function ls(path, recur)
+{
+ var file = Components.classes["@mozilla.org/file/local;1"].
+ createInstance(nsILocalFile);
+ try {
+ file.initWithPath( path );
+
+ if (file.isDirectory() && arguments.length == 1)
+ ls_dir(file, recur);
+ else
+ ls_file(file, recur);
+ }
+ catch (e) {
+ dump("Error Returned " + e + "\n");
+ }
+}
+function ls_file(file, recur)
+{
+ dump(prefix);
+
+ try {
+ if (file.isDirectory()) {
+ dump("directory " + file.leafName + "\n");
+ if(recur)
+ ls_dir(file, true);
+ return;
+ }
+
+ dump(file.leafName + " " + file.fileSize);
+ if (file.isSymlink())
+ dump(" -> " + file.target);
+ dump("\n");
+ }
+
+ catch (e) {
+ dump(file.leafName + " (error accessing)\n");
+ }
+}
+
+function ls_dir(file, recur)
+{
+ var leafName = file.leafName;
+
+ var old = prefix;
+ prefix = prefix + " ";
+
+ iter = file.directoryEntries;
+ dump(iter + "\n");
+
+ foreach_iter(iter,
+ function (file) { ls_file(file, recur); });
+ prefix = old;
+}
+
+function foreach_iter(iter, fun)
+{
+ while (iter.hasMoreElements()) {
+ var item = iter.getNext().QueryInterface(nsILocalFile);
+ fun(item);
+ }
+}