|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
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"); |
|
9 |
|
10 let engine = new BookmarksEngine(Service); |
|
11 let store = engine._store; |
|
12 |
|
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; |
|
17 |
|
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"; |
|
25 |
|
26 _("Type: " + tagRecord.type); |
|
27 _("Folder name: " + tagRecord.folderName); |
|
28 store.preprocessTagQuery(tagRecord); |
|
29 |
|
30 _("Verify that the URI has been rewritten."); |
|
31 do_check_neq(tagRecord.bmkUri, uri); |
|
32 |
|
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; |
|
42 |
|
43 _("Tag ID: " + tagID); |
|
44 do_check_eq(tagRecord.bmkUri, uri.replace("499", tagID)); |
|
45 |
|
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 } |