services/sync/tests/unit/test_bookmark_places_query_rewriting.js

changeset 0
6474c204b198
     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 +}

mercurial