michael@0: /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* vim:set ts=2 sw=2 sts=2 et: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /** michael@0: * Test that inserting a new bookmark will set lastModified to the same michael@0: * values as dateAdded. michael@0: */ michael@0: // main michael@0: function run_test() { michael@0: var bs = Cc["@mozilla.org/browser/nav-bookmarks-service;1"]. michael@0: getService(Ci.nsINavBookmarksService); michael@0: var itemId = bs.insertBookmark(bs.bookmarksMenuFolder, michael@0: uri("http://www.mozilla.org/"), michael@0: bs.DEFAULT_INDEX, michael@0: "itemTitle"); michael@0: var dateAdded = bs.getItemDateAdded(itemId); michael@0: do_check_eq(dateAdded, bs.getItemLastModified(itemId)); michael@0: michael@0: // Change lastModified, then change dateAdded. LastModified should be set michael@0: // to the new dateAdded. michael@0: // This could randomly fail on virtual machines due to timing issues, so michael@0: // we manually increase the time value. See bug 500640 for details. michael@0: bs.setItemLastModified(itemId, dateAdded + 1); michael@0: do_check_true(bs.getItemLastModified(itemId) === dateAdded + 1); michael@0: do_check_true(bs.getItemDateAdded(itemId) < bs.getItemLastModified(itemId)); michael@0: bs.setItemDateAdded(itemId, dateAdded + 2); michael@0: do_check_true(bs.getItemDateAdded(itemId) === dateAdded + 2); michael@0: do_check_eq(bs.getItemDateAdded(itemId), bs.getItemLastModified(itemId)); michael@0: michael@0: bs.removeItem(itemId); michael@0: }