diff options
Diffstat (limited to 'src/libs/xpcom18a4/xpcom/tests/utils')
-rw-r--r-- | src/libs/xpcom18a4/xpcom/tests/utils/WhatError.cpp | 61 | ||||
-rw-r--r-- | src/libs/xpcom18a4/xpcom/tests/utils/cp.js | 111 | ||||
-rw-r--r-- | src/libs/xpcom18a4/xpcom/tests/utils/dirs.js | 155 | ||||
-rw-r--r-- | src/libs/xpcom18a4/xpcom/tests/utils/ls.js | 64 |
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); + } +} |