Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,169 @@
/* globals MocksHelper */
/* globals asyncStorage */
/* globals PlacesIdbStore */
'use strict';
require('/shared/test/unit/mocks/mock_async_storage.js');
requireApp('search/js/places_idb.js');
var mocksHelper = new MocksHelper([
'asyncStorage'
]).init();
suite('search/places_idb', function() {
var subject;
var mozilla = 'http://mozilla.org';
var google = 'http://google.com';
var yahoo = 'http://yahoo.com';
function place(url, frecency, visited, visits) {
frecency = frecency || 1;
visited = visited || 0;
visits = visits || [visited];
return {
url: url,
frecency: frecency,
visited: visited,
visits: visits
};
}
mocksHelper.attachTestHelpers();
setup(done => {
asyncStorage.getItem = function(key, callback) {
callback(null);
};
subject = new PlacesIdbStore();
subject.init().then(function() {
subject.clear().then(function() {
done();
});
});
});
test('Test frecency', function(done) {
Promise.all([
subject.add('url', place(mozilla, 1, 0)),
subject.add('url', place(google, 3, 1)),
subject.add('url', place(yahoo, 2, 2)),
subject.add('url', place(mozilla, 4, 3))
]).then(function() {
subject.read('frecency', 5, function(results) {
assert.equal(results.length, 3);
assert.equal(results[0].url, mozilla);
assert.equal(results[1].url, google);
assert.equal(results[2].url, yahoo);
done();
});
});
});
test('Test history', function(done) {
Promise.all([
subject.add('url', place(mozilla, 1, 0)),
subject.add('url', place(google, 3, 1)),
subject.add('url', place(yahoo, 2, 2)),
subject.add('url', place(mozilla, 4, 3))
]).then(function() {
subject.read('visited', 5, function(results) {
assert.equal(results.length, 3);
assert.equal(results[0].url, mozilla);
assert.equal(results[1].url, yahoo);
assert.equal(results[2].url, google);
done();
});
});
});
test('Test frecency filter', function(done) {
Promise.all([
subject.add('url', place(google, -1, 0)),
subject.add('url', place(yahoo, -2, 2)),
subject.add('url', place(mozilla, 1, 3))
]).then(function() {
subject.read('frecency', 5, function(results) {
assert.equal(results.length, 1);
assert.equal(results[0].url, mozilla);
done();
}, function(place) {
return place.frecency > 0;
});
});
});
test('Test filter', function(done) {
Promise.all([
subject.add('url', place(mozilla, 1, 0)),
subject.add('url', place(google, 3, 1)),
subject.add('url', place(yahoo, 2, 2)),
subject.add('url', place(mozilla, 4, 3))
]).then(function() {
subject.read('visited', 5, function(results) {
assert.equal(results.length, 1);
assert.equal(results[0].url, mozilla);
done();
}, function(place) {
return place.url === mozilla;
});
});
});
test('Test visits', function(done) {
Promise.all([
subject.add('url', place(mozilla, 1, 0, [0])),
subject.add('url', place(google, 3, 0, [4, 2])),
subject.add('url', place(yahoo, 2, 0, [7, 3])),
subject.add('url', place(mozilla, 4, 0, [6, 5, 1, 0]))
]).then(function() {
subject.readVisits(7, function(results) {
assert.equal(results.length, 7);
assert.equal(results[0].url, yahoo);
assert.equal(results[1].url, mozilla);
assert.equal(results[2].url, mozilla);
assert.equal(results[3].url, google);
assert.equal(results[4].url, yahoo);
assert.equal(results[5].url, google);
assert.equal(results[6].url, mozilla);
done();
});
});
});
test('Adding empty visits should delete the record', function(done) {
Promise.all([
subject.add(mozilla, place(mozilla, 1, 1, [1])),
subject.add(mozilla, place(mozilla, 1, 2, []))
]).then(() => {
subject.read('visited', 5, results => {
assert.equal(results.length, 0);
subject.readVisits(5, results => {
assert.equal(results.length, 0);
done();
});
});
});
});
test('Adding empty visits should delete the record', function(done) {
Promise.all([
subject.add(mozilla, place(mozilla, 1, 1, [1])),
subject.remove(mozilla)
]).then(() => {
subject.read('visited', 5, results => {
assert.equal(results.length, 0);
subject.readVisits(5, results => {
assert.equal(results.length, 0);
done();
});
});
});
});
});