From 9d51d644d1ed1fe8f1d36a7ea7bf520e64a3fc6d Mon Sep 17 00:00:00 2001 From: "dietrich%mozilla.com" Date: Mon, 11 Dec 2006 17:16:55 +0000 Subject: [PATCH] Tests for Bug 359862 (r=sspitzer) --- .../places/tests/unit/head_bookmarks.js | 7 -- .../places/tests/unit/tail_bookmarks.js | 2 +- .../places/tests/unit/test_annotations.js | 77 +++++++++++++++++ .../places/tests/unit/test_bookmarks.js | 7 ++ .../places/tests/unit/test_history.js | 84 +++++++++++++++++++ .../places/tests/unit/test_livemarks.js | 7 ++ 6 files changed, 176 insertions(+), 8 deletions(-) create mode 100644 browser/components/places/tests/unit/test_annotations.js create mode 100644 browser/components/places/tests/unit/test_history.js diff --git a/browser/components/places/tests/unit/head_bookmarks.js b/browser/components/places/tests/unit/head_bookmarks.js index 3640adb4709a..bf16d7f2422a 100644 --- a/browser/components/places/tests/unit/head_bookmarks.js +++ b/browser/components/places/tests/unit/head_bookmarks.js @@ -75,10 +75,3 @@ var iosvc = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); function uri(spec) { return iosvc.newURI(spec, null, null); } - -// Get bookmark service -try { - var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService); -} catch(ex) { - do_throw("Could not get nav-bookmarks-service\n"); -} diff --git a/browser/components/places/tests/unit/tail_bookmarks.js b/browser/components/places/tests/unit/tail_bookmarks.js index 3999dccb7c66..a7f4471bedd3 100644 --- a/browser/components/places/tests/unit/tail_bookmarks.js +++ b/browser/components/places/tests/unit/tail_bookmarks.js @@ -40,6 +40,6 @@ // remove bookmarks file try { var file = dirSvc.get('ProfD', Ci.nsIFile); - file.append("bookmarks_history.sqlite"); + file.append("places.sqlite"); file.remove(false); } catch(ex) { dump(ex); } diff --git a/browser/components/places/tests/unit/test_annotations.js b/browser/components/places/tests/unit/test_annotations.js new file mode 100644 index 000000000000..34290c855538 --- /dev/null +++ b/browser/components/places/tests/unit/test_annotations.js @@ -0,0 +1,77 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim:set ts=2 sw=2 sts=2 et: */ +/* ***** 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 Google Inc. + * Portions created by the Initial Developer are Copyright (C) 2005 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Darin Fisher + * Dietrich Ayala + * + * 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 ***** */ + +// Get history service +try { + var histsvc = Cc["@mozilla.org/browser/nav-history-service;1"].getService(Ci.nsINavHistoryService); +} catch(ex) { + do_throw("Could not get history service\n"); +} + +// Get annotation service +try { + var annosvc= Cc["@mozilla.org/browser/annotation-service;1"].getService(Ci.nsIAnnotationService); +} catch(ex) { + do_throw("Could not get annotation service\n"); +} + +// main +function run_test() { + // test URI + var testURI = uri("http://mozilla.com/"); + var testAnnoName = "moz-test-places/annotations"; + var testAnnoVal = "test"; + + // create new annotation + try { + annosvc.setAnnotationString(testURI, testAnnoName, testAnnoVal, 0, 0); + } catch(ex) { + do_throw("unable to add annotation"); + } + + // get annotation + var storedAnnoVal = annosvc.getAnnotationString(testURI, testAnnoName); + do_check_eq(testAnnoVal, storedAnnoVal); + + // get annotation that doesn't exist + try { + annosvc.getAnnotationString(testURI, "blah"); + do_throw("fetching annotation that doesn't exist, should've thrown"); + } catch(ex) {} +} diff --git a/browser/components/places/tests/unit/test_bookmarks.js b/browser/components/places/tests/unit/test_bookmarks.js index f50a6acd60b5..fdbdb929159f 100644 --- a/browser/components/places/tests/unit/test_bookmarks.js +++ b/browser/components/places/tests/unit/test_bookmarks.js @@ -37,6 +37,13 @@ * * ***** END LICENSE BLOCK ***** */ +// Get bookmark service +try { + var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService); +} catch(ex) { + do_throw("Could not get nav-bookmarks-service\n"); +} + // create and add bookmarks observer var observer = { onBeginUpdateBatch: function() { diff --git a/browser/components/places/tests/unit/test_history.js b/browser/components/places/tests/unit/test_history.js new file mode 100644 index 000000000000..e4f63f2d8e9d --- /dev/null +++ b/browser/components/places/tests/unit/test_history.js @@ -0,0 +1,84 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim:set ts=2 sw=2 sts=2 et: */ +/* ***** 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 Google Inc. + * Portions created by the Initial Developer are Copyright (C) 2005 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Darin Fisher + * Dietrich Ayala + * + * 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 ***** */ + +// Get history service +try { + var histsvc = Cc["@mozilla.org/browser/nav-history-service;1"].getService(Ci.nsINavHistoryService); +} catch(ex) { + do_throw("Could not get history service\n"); +} + +// main +function run_test() { + // test URI + var testURI = uri("http://mozilla.com/"); + + // add a visit + var placeID = histsvc.addVisit(testURI, + Date.now(), + 0, // no referrer + histsvc.TRANSITION_TYPED, // user typed in URL bar + false, // not redirect + 0); + // test for valid place ID + do_check_true(placeID > 0); + + // query for the visit + var options = histsvc.getNewQueryOptions(); + // set sorting and limit such that we should retrieve only the visit we just added + options.sortingMode = options.SORT_BY_DATE_DESCENDING; + options.maxResults = 1; + // TODO: using full visit crashes in xpcshell test + //options.resultType = options.RESULTS_AS_FULL_VISIT; + options.resultType = options.RESULTS_AS_VISIT; + var query = histsvc.getNewQuery(); + var result = histsvc.executeQuery(query, options); + var root = result.root; + root.containerOpen = true; + var cc = root.childCount; + for (var i=0; i < cc; ++i) { + var node = root.getChild(i); + // test node properties in RESULTS_AS_VISIT + do_check_eq(node.uri, testURI.spec); + do_check_eq(node.type, options.RESULTS_AS_VISIT); + // TODO: change query type to RESULTS_AS_FULL_VISIT and test this + //do_check_eq(node.transitionType, histsvc.TRANSITION_TYPED); + } + root.containerOpen = false; +} diff --git a/browser/components/places/tests/unit/test_livemarks.js b/browser/components/places/tests/unit/test_livemarks.js index cbb23e655bca..d51ea0bfb6b4 100644 --- a/browser/components/places/tests/unit/test_livemarks.js +++ b/browser/components/places/tests/unit/test_livemarks.js @@ -44,6 +44,13 @@ try { do_throw("Could not get livemark-service\n"); } +// Get bookmark service +try { + var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService); +} catch(ex) { + do_throw("Could not get nav-bookmarks-service\n"); +} + // get bookmarks root index var root = bmsvc.bookmarksRoot;