Skip to content
This repository has been archived by the owner on Feb 26, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1129 from jsantell/892998-disable-places-maintena…
Browse files Browse the repository at this point in the history
…nce-in-tests

Fix Bug 892998, disable places maintenance for each Places test, r=@erikvold
  • Loading branch information
jsantell committed Jul 19, 2013
2 parents 9a04d3a + ad2a67f commit d2c4c14
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 47 deletions.
24 changes: 16 additions & 8 deletions test/places-helper.js
Expand Up @@ -19,6 +19,7 @@ const { setTimeout } = require('sdk/timers');
const { newURI } = require('sdk/url/utils');
const { defer, all } = require('sdk/core/promise');
const { once } = require('sdk/system/events');
const { set } = require('sdk/preferences/service');
const {
Bookmark, Group, Separator,
save, search,
Expand All @@ -45,12 +46,25 @@ function clearBookmarks (group) {
? bmsrv.removeFolderChildren(group.id)
: clearAllBookmarks();
}
exports.clearBookmarks = clearBookmarks;

function clearAllBookmarks () {
[MENU, TOOLBAR, UNSORTED].forEach(clearBookmarks);
}
exports.clearAllBookmarks = clearAllBookmarks;

function clearHistory (done) {
hsrv.removeAllPages();
once('places-expiration-finished', done);
}

// Cleans bookmarks and history and disables maintanance
function resetPlaces (done) {
// Set last maintenance to current time to prevent
// Places DB maintenance occuring and locking DB
set('places.database.lastMaintenance', Math.floor(Date.now() / 1000));
clearAllBookmarks();
clearHistory(done);
}
exports.resetPlaces = resetPlaces;

function compareWithHost (assert, item) {
let id = item.id;
Expand Down Expand Up @@ -105,12 +119,6 @@ function createVisit (url) {
return place;
}

function clearHistory (done) {
hsrv.removeAllPages();
once('places-expiration-finished', done);
}
exports.clearHistory = clearHistory;

function createBookmark (data) {
data = data || {};
let item = {
Expand Down
15 changes: 5 additions & 10 deletions test/test-places-bookmarks.js
Expand Up @@ -25,9 +25,9 @@ const {
MENU, TOOLBAR, UNSORTED
} = require('sdk/places/bookmarks');
const {
invalidResolve, invalidReject, clearBookmarks, createTree,
compareWithHost, clearAllBookmarks, createBookmark, createBookmarkItem,
createBookmarkTree, addVisits
invalidResolve, invalidReject, createTree,
compareWithHost, createBookmark, createBookmarkItem,
createBookmarkTree, addVisits, resetPlaces
} = require('./places-helper');
const { promisedEmitter } = require('sdk/places/utils');
const bmsrv = Cc['@mozilla.org/browser/nav-bookmarks-service;1'].
Expand Down Expand Up @@ -941,13 +941,8 @@ exports.testCheckSaveOrder = function (assert, done) {
});
};

before(exports, name => {
clearAllBookmarks();
});

after(exports, name => {
clearAllBookmarks();
});
before(exports, (name, assert, done) => resetPlaces(done));
after(exports, (name, assert, done) => resetPlaces(done));

function saveP () {
return promisedEmitter(save.apply(null, Array.slice(arguments)));
Expand Down
4 changes: 2 additions & 2 deletions test/test-places-favicon.js
Expand Up @@ -19,7 +19,7 @@ const host = 'http://localhost:' + port;
const { onFaviconChange, serve, binFavicon } = require('./favicon-helpers');
const { once } = require('sdk/system/events');
const { defer } = require('sdk/core/promise');
const { clearHistory } = require('./places-helper');
const { resetPlaces } = require('./places-helper');
const faviconService = Cc["@mozilla.org/browser/favicon-service;1"].
getService(Ci.nsIFaviconService);

Expand Down Expand Up @@ -181,7 +181,7 @@ function waitAndExpire (url) {

function complete(tab, srv, done) {
tab.close(function () {
clearHistory(() => {
resetPlaces(() => {
srv.stop(done);
});
});
Expand Down
16 changes: 5 additions & 11 deletions test/test-places-history.js
Expand Up @@ -14,16 +14,15 @@ const { defer, all } = require('sdk/core/promise');
const { has } = require('sdk/util/array');
const { setTimeout } = require('sdk/timers');
const { before, after } = require('sdk/test/utils');
const { set } = require('sdk/preferences/service');
const {
search
} = require('sdk/places/history');
const {
invalidResolve, invalidReject, clearBookmarks, createTree,
compareWithHost, clearAllBookmarks, addVisits, clearHistory
invalidResolve, invalidReject, createTree,
compareWithHost, addVisits, resetPlaces
} = require('./places-helper');
const { promisedEmitter } = require('sdk/places/utils');
const hsrv = Cc['@mozilla.org/browser/nav-history-service;1'].
getService(Ci.nsINavHistoryService);

exports.testEmptyQuery = function (assert, done) {
let within = toBeWithin();
Expand Down Expand Up @@ -239,16 +238,11 @@ function toBeWithin (range) {
};
}

function clear (done) {
clearAllBookmarks();
clearHistory(done);
}

function searchP () {
return promisedEmitter(search.apply(null, Array.slice(arguments)));
}

before(exports, (name, assert, done) => clear(done));
after(exports, (name, assert, done) => clear(done));
before(exports, (name, assert, done) => resetPlaces(done));
after(exports, (name, assert, done) => resetPlaces(done));

require('test').run(exports);
24 changes: 8 additions & 16 deletions test/test-places-host.js
Expand Up @@ -14,13 +14,15 @@ const { defer, all } = require('sdk/core/promise');
const { setTimeout } = require('sdk/timers');
const { newURI } = require('sdk/url/utils');
const { send } = require('sdk/addon/events');
const { set } = require('sdk/preferences/service');
const { before, after } = require('sdk/test/utils');

require('sdk/places/host/host-bookmarks');
require('sdk/places/host/host-tags');
require('sdk/places/host/host-query');
const {
invalidResolve, invalidReject, clearBookmarks, createTree,
compareWithHost, clearAllBookmarks, createBookmark, createBookmarkTree
invalidResolve, invalidReject, createTree,
compareWithHost, createBookmark, createBookmarkTree, resetPlaces
} = require('./places-helper');

const bmsrv = Cc['@mozilla.org/browser/nav-bookmarks-service;1'].
Expand All @@ -29,7 +31,6 @@ const hsrv = Cc['@mozilla.org/browser/nav-history-service;1'].
getService(Ci.nsINavHistoryService);
const tagsrv = Cc['@mozilla.org/browser/tagging-service;1'].
getService(Ci.nsITaggingService);
clearAllBookmarks();

exports.testBookmarksCreate = function (assert, done) {
let items = [{
Expand All @@ -51,7 +52,6 @@ exports.testBookmarksCreate = function (assert, done) {
compareWithHost(assert, data);
}, invalidReject(assert));
})).then(function () {
clearAllBookmarks();
done();
}, invalidReject(assert));
};
Expand All @@ -72,7 +72,6 @@ exports.testBookmarksCreateFail = function (assert, done) {
assert.ok(reason, 'bookmark create should fail');
});
})).then(function () {
clearAllBookmarks();
done();
});
};
Expand All @@ -94,7 +93,6 @@ exports.testBookmarkLastUpdated = function (assert, done) {
});
}).then(function (data) {
assert.ok(data.updated > timestamp, 'time has elapsed and updated the updated property');
clearAllBookmarks();
done();
});
};
Expand All @@ -110,7 +108,6 @@ exports.testBookmarkRemove = function (assert, done) {
assert.throws(function () {
bmsrv.getItemTitle(id);
}, 'item should no longer exist');
clearAllBookmarks();
done();
}, console.error);
};
Expand All @@ -133,7 +130,6 @@ exports.testBookmarkGet = function (assert, done) {
else
assert.equal(bookmark[prop], data[prop], 'correctly fetched ' + prop);
});
clearAllBookmarks();
done();
});
};
Expand All @@ -151,7 +147,6 @@ exports.testTagsTag = function (assert, done) {
assert.ok(~tags.indexOf('foxfire'), 'second tag found');
assert.ok(~tags.indexOf('firefox'), 'default tag found');
assert.equal(tags.length, 3, 'no extra tags');
clearAllBookmarks();
done();
});
};
Expand All @@ -171,7 +166,6 @@ exports.testTagsUntag = function (assert, done) {
assert.ok(!~tags.indexOf('firefox'), 'first tag removed');
assert.ok(!~tags.indexOf('tag2'), 'second tag removed');
assert.equal(tags.length, 2, 'no extra tags');
clearAllBookmarks();
done();
});
};
Expand All @@ -186,7 +180,6 @@ exports.testTagsGetURLsByTag = function (assert, done) {
}).then(function(urls) {
assert.equal(item.url, urls[0], 'returned correct url');
assert.equal(urls.length, 1, 'returned only one url');
clearAllBookmarks();
done();
});
};
Expand All @@ -203,7 +196,6 @@ exports.testTagsGetTagsByURL = function (assert, done) {
assert.ok(~tags.indexOf('mozilla'), 'returned second tag');
assert.ok(~tags.indexOf('metal'), 'returned third tag');
assert.equal(tags.length, 3, 'returned all tags');
clearAllBookmarks();
done();
});
};
Expand All @@ -228,7 +220,6 @@ exports.testHostQuery = function (assert, done) {
}).then(results => {
assert.equal(results.length, 2, 'should only return two');
assert.equal(results[0].url, 'http://firefox.com/', 'is sorted by URI desc');
clearAllBookmarks();
done();
});
};
Expand All @@ -253,7 +244,6 @@ exports.testHostMultiQuery = function (assert, done) {
});
}).then(results => {
assert.equal(results.length, 0, 'query props should be AND\'d');
clearAllBookmarks();
done();
});
};
Expand All @@ -263,7 +253,6 @@ exports.testGetAllBookmarks = function (assert, done) {
return send('sdk-places-bookmarks-get-all', {});
}).then(res => {
assert.equal(res.length, 8, 'all bookmarks returned');
clearAllBookmarks();
done();
}, console.error);
};
Expand All @@ -276,9 +265,12 @@ exports.testGetAllChildren = function (assert, done) {
}).then(results => {
assert.equal(results.length, 5,
'should return all children and folders at a single depth');
clearAllBookmarks();
done();
});
};


before(exports, (name, assert, done) => resetPlaces(done));
after(exports, (name, assert, done) => resetPlaces(done));

require('test').run(exports);

0 comments on commit d2c4c14

Please sign in to comment.