From 4d9049cfd0b8207bfb268686bdadf000e1124ff7 Mon Sep 17 00:00:00 2001 From: "sdwilsh@shawnwilsher.com" Date: Wed, 23 May 2007 16:52:50 -0700 Subject: [PATCH] Bug 381646 - Re-enable tests for download manager. r=sayrer --- toolkit/components/downloads/test/Makefile.in | 2 +- .../test/unit/head_download_manager.js | 81 +++++++++++++++++++ .../test/unit/test_download_manager.js | 64 +++------------ .../unit/test_download_manager_migration.js | 36 --------- 4 files changed, 91 insertions(+), 92 deletions(-) create mode 100644 toolkit/components/downloads/test/unit/head_download_manager.js diff --git a/toolkit/components/downloads/test/Makefile.in b/toolkit/components/downloads/test/Makefile.in index 1190674416b..b0381043791 100644 --- a/toolkit/components/downloads/test/Makefile.in +++ b/toolkit/components/downloads/test/Makefile.in @@ -45,7 +45,7 @@ include $(DEPTH)/config/autoconf.mk MODULE = test_dm -#XPCSHELL_TESTS = unit +XPCSHELL_TESTS = unit include $(topsrcdir)/config/rules.mk diff --git a/toolkit/components/downloads/test/unit/head_download_manager.js b/toolkit/components/downloads/test/unit/head_download_manager.js new file mode 100644 index 00000000000..59fdaa252bb --- /dev/null +++ b/toolkit/components/downloads/test/unit/head_download_manager.js @@ -0,0 +1,81 @@ +/* ***** 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 Download Manager Test Code. + * + * The Initial Developer of the Original Code is + * Mozilla Corporation. + * Portions created by the Initial Developer are Copyright (C) 2007 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Shawn Wilsher (Original Author) + * + * Alternatively, the contents of this file may be used under the terms of + * either 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 ***** */ + +// This file tests the download manager backend + +do_import_script("netwerk/test/httpserver/httpd.js"); + +function createURI(aObj) +{ + var ios = Cc["@mozilla.org/network/io-service;1"]. + getService(Ci.nsIIOService); + return (aObj instanceof Ci.nsIFile) ? ios.newFileURI(aObj) : + ios.newURI(aObj, null, null); +} + +var dirSvc = Cc["@mozilla.org/file/directory_service;1"]. + getService(Ci.nsIProperties); +var profileDir = null; +try { + profileDir = dirSvc.get("ProfD", Ci.nsIFile); +} catch (e) { } +if (!profileDir) { + // Register our own provider for the profile directory. + // It will simply return the current directory. + var provider = { + getFile: function(prop, persistent) { + persistent.value = true; + if (prop == "ProfD") { + return dirSvc.get("CurProcD", Ci.nsILocalFile); + } else if (prop == "DLoads") { + var file = dirSvc.get("CurProcD", Ci.nsILocalFile); + file.append("downloads.rdf"); + return file; + } + throw Cr.NS_ERROR_FAILURE; + }, + QueryInterface: function(iid) { + if (iid.equals(Ci.nsIDirectoryProvider) || + iid.equals(Ci.nsISupports)) { + return this; + } + throw Cr.NS_ERROR_NO_INTERFACE; + } + }; + dirSvc.QueryInterface(Ci.nsIDirectoryService).registerProvider(provider); +} + diff --git a/toolkit/components/downloads/test/unit/test_download_manager.js b/toolkit/components/downloads/test/unit/test_download_manager.js index 0bfc61d3ed9..1a72e2b906a 100644 --- a/toolkit/components/downloads/test/unit/test_download_manager.js +++ b/toolkit/components/downloads/test/unit/test_download_manager.js @@ -37,48 +37,6 @@ // This file tests the download manager backend -do_import_script("netwerk/test/httpserver/httpd.js"); - -function createURI(aObj) -{ - var ios = Cc["@mozilla.org/network/io-service;1"]. - getService(Ci.nsIIOService); - return (aObj instanceof Ci.nsIFile) ? ios.newFileURI(aObj) : - ios.newURI(aObj, null, null); -} - -var dirSvc = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties); -var profileDir = null; -try { - profileDir = dirSvc.get("ProfD", Ci.nsIFile); -} catch (e) { } -if (!profileDir) { - // Register our own provider for the profile directory. - // It will simply return the current directory. - var provider = { - getFile: function(prop, persistent) { - persistent.value = true; - if (prop == "ProfD") { - return dirSvc.get("CurProcD", Ci.nsILocalFile); - } else if (prop = "DLoads") { - var file = dirSvc.get("CurProcD", Ci.nsILocalFile); - file.append("downloads.rdf"); - return file; - } - throw Cr.NS_ERROR_FAILURE; - }, - QueryInterface: function(iid) { - if (iid.equals(Ci.nsIDirectoryProvider) || - iid.equals(Ci.nsISupports)) { - return this; - } - throw Cr.NS_ERROR_NO_INTERFACE; - } - }; - dirSvc.QueryInterface(Ci.nsIDirectoryService).registerProvider(provider); -} - function cleanup() { // removing rdf @@ -96,7 +54,7 @@ function cleanup() if (destFile.exists()) destFile.remove(true); } -//cleanup(); +cleanup(); const nsIDownloadManager = Ci.nsIDownloadManager; const dm = Cc["@mozilla.org/download-manager;1"].getService(nsIDownloadManager); @@ -143,7 +101,7 @@ function test_pauseDownload_empty_queue() dm.pauseDownload(0); do_throw("This should not be reached"); } catch (e) { - do_check_eq(Cr.NS_ERROR_FAILED, e.error); + do_check_eq(Cr.NS_ERROR_FAILURE, e.result); } } @@ -154,7 +112,7 @@ function test_resumeDownload_empty_queue() dm.resumeDownload(0); do_throw("This should not be reached"); } catch (e) { - do_check_eq(Cr.NS_ERROR_FAILED, e.error); + do_check_eq(Cr.NS_ERROR_FAILURE, e.result); } } @@ -218,12 +176,10 @@ var httpserv = null; function run_test() { print("*** DOWNLOAD MANAGER TEST - starting tests"); -/* httpserv = new nsHttpServer(); httpserv.registerDirectory("/", dirSvc.get("ProfD", Ci.nsILocalFile)); httpserv.start(4444); print("*** DOWNLOAD MANAGER TEST - server started"); -*/ print("Try creating listener...") // our download listener @@ -273,9 +229,9 @@ function run_test() case "dl-done": dm.removeDownload(dl.id); - var stmt = dm.DBConnection.createStmt("SELECT COUNT(*) " + - "FROM moz_downloads " + - "WHERE id = ?1"); + var stmt = dm.DBConnection.createStatement("SELECT COUNT(*) " + + "FROM moz_downloads " + + "WHERE id = ?1"); stmt.bindInt32Parameter(0, dl.id); stmt.executeStep(); @@ -298,12 +254,11 @@ function run_test() print("Made it through adding observers."); -// for (var i = 0; i < tests.length; i++) -// tests[i](); + for (var i = 0; i < tests.length; i++) + tests[i](); - //cleanup(); + cleanup(); -/* try { var thread = Cc["@mozilla.org/thread-manager;1"] .getService().currentThread; @@ -317,5 +272,4 @@ function run_test() } catch (e) { print(e); } -*/ } diff --git a/toolkit/components/downloads/test/unit/test_download_manager_migration.js b/toolkit/components/downloads/test/unit/test_download_manager_migration.js index 6f51ed784f3..feae577a520 100644 --- a/toolkit/components/downloads/test/unit/test_download_manager_migration.js +++ b/toolkit/components/downloads/test/unit/test_download_manager_migration.js @@ -39,42 +39,6 @@ // Also tests cleanUp function of DM since we have a good number of entries to // clean up after importing. -const Cc = Components.classes; -const Ci = Components.interfaces; -const Cr = Components.results; - -var dirSvc = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties); -var profileDir = null; -try { - profileDir = dirSvc.get("ProfD", Ci.nsIFile); -} catch (e) { } -if (!profileDir) { - // Register our own provider for the profile directory. - // It will simply return the current directory. - var provider = { - getFile: function(prop, persistent) { - persistent.value = true; - if (prop == "ProfD") { - return dirSvc.get("CurProcD", Ci.nsILocalFile); - } else if (prop == "DLoads") { - var file = dirSvc.get("CurProcD", Ci.nsILocalFile); - file.append("downloads.rdf"); - return file; - } - throw Cr.NS_ERROR_FAILURE; - }, - QueryInterface: function(iid) { - if (iid.equals(Ci.nsIDirectoryProvider) || - iid.equals(Ci.nsISupports)) { - return this; - } - throw Cr.NS_ERROR_NO_INTERFACE; - } - }; - dirSvc.QueryInterface(Ci.nsIDirectoryService).registerProvider(provider); -} - function cleanup() { // removing rdf