Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
4 _("Rewrite place: URIs.");
5 Cu.import("resource://gre/modules/PlacesUtils.jsm");
6 Cu.import("resource://services-sync/engines/bookmarks.js");
7 Cu.import("resource://services-sync/service.js");
8 Cu.import("resource://services-sync/util.js");
10 let engine = new BookmarksEngine(Service);
11 let store = engine._store;
13 function run_test() {
14 initTestLogging("Trace");
15 Log.repository.getLogger("Sync.Engine.Bookmarks").level = Log.Level.Trace;
16 Log.repository.getLogger("Sync.Store.Bookmarks").level = Log.Level.Trace;
18 let tagRecord = new BookmarkQuery("bookmarks", "abcdefabcdef");
19 let uri = "place:folder=499&type=7&queryType=1";
20 tagRecord.queryId = "MagicTags";
21 tagRecord.parentName = "Bookmarks Toolbar";
22 tagRecord.bmkUri = uri;
23 tagRecord.title = "tagtag";
24 tagRecord.folderName = "bar";
26 _("Type: " + tagRecord.type);
27 _("Folder name: " + tagRecord.folderName);
28 store.preprocessTagQuery(tagRecord);
30 _("Verify that the URI has been rewritten.");
31 do_check_neq(tagRecord.bmkUri, uri);
33 let tags = store._getNode(PlacesUtils.tagsFolderId);
34 tags.containerOpen = true;
35 let tagID;
36 for (let i = 0; i < tags.childCount; ++i) {
37 let child = tags.getChild(i);
38 if (child.title == "bar")
39 tagID = child.itemId;
40 }
41 tags.containerOpen = false;
43 _("Tag ID: " + tagID);
44 do_check_eq(tagRecord.bmkUri, uri.replace("499", tagID));
46 _("... but not if the type is wrong.");
47 let wrongTypeURI = "place:folder=499&type=2&queryType=1";
48 tagRecord.bmkUri = wrongTypeURI;
49 store.preprocessTagQuery(tagRecord);
50 do_check_eq(tagRecord.bmkUri, wrongTypeURI);
51 }