1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/services/sync/tests/unit/test_bookmark_places_query_rewriting.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,51 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +_("Rewrite place: URIs."); 1.8 +Cu.import("resource://gre/modules/PlacesUtils.jsm"); 1.9 +Cu.import("resource://services-sync/engines/bookmarks.js"); 1.10 +Cu.import("resource://services-sync/service.js"); 1.11 +Cu.import("resource://services-sync/util.js"); 1.12 + 1.13 +let engine = new BookmarksEngine(Service); 1.14 +let store = engine._store; 1.15 + 1.16 +function run_test() { 1.17 + initTestLogging("Trace"); 1.18 + Log.repository.getLogger("Sync.Engine.Bookmarks").level = Log.Level.Trace; 1.19 + Log.repository.getLogger("Sync.Store.Bookmarks").level = Log.Level.Trace; 1.20 + 1.21 + let tagRecord = new BookmarkQuery("bookmarks", "abcdefabcdef"); 1.22 + let uri = "place:folder=499&type=7&queryType=1"; 1.23 + tagRecord.queryId = "MagicTags"; 1.24 + tagRecord.parentName = "Bookmarks Toolbar"; 1.25 + tagRecord.bmkUri = uri; 1.26 + tagRecord.title = "tagtag"; 1.27 + tagRecord.folderName = "bar"; 1.28 + 1.29 + _("Type: " + tagRecord.type); 1.30 + _("Folder name: " + tagRecord.folderName); 1.31 + store.preprocessTagQuery(tagRecord); 1.32 + 1.33 + _("Verify that the URI has been rewritten."); 1.34 + do_check_neq(tagRecord.bmkUri, uri); 1.35 + 1.36 + let tags = store._getNode(PlacesUtils.tagsFolderId); 1.37 + tags.containerOpen = true; 1.38 + let tagID; 1.39 + for (let i = 0; i < tags.childCount; ++i) { 1.40 + let child = tags.getChild(i); 1.41 + if (child.title == "bar") 1.42 + tagID = child.itemId; 1.43 + } 1.44 + tags.containerOpen = false; 1.45 + 1.46 + _("Tag ID: " + tagID); 1.47 + do_check_eq(tagRecord.bmkUri, uri.replace("499", tagID)); 1.48 + 1.49 + _("... but not if the type is wrong."); 1.50 + let wrongTypeURI = "place:folder=499&type=2&queryType=1"; 1.51 + tagRecord.bmkUri = wrongTypeURI; 1.52 + store.preprocessTagQuery(tagRecord); 1.53 + do_check_eq(tagRecord.bmkUri, wrongTypeURI); 1.54 +}