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:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
58
gaia/apps/settings/test/unit/panels/addons/addons_list_test.js
Executable file
58
gaia/apps/settings/test/unit/panels/addons/addons_list_test.js
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
suite('Addons List >', function() {
|
||||
'use strict';
|
||||
|
||||
var addonsList;
|
||||
|
||||
suiteSetup(function(done) {
|
||||
var map = {
|
||||
'*': {
|
||||
'modules/settings_service': 'unit/mock_settings_service',
|
||||
'modules/mvvm/list_view': 'unit/mock_list_view'
|
||||
}
|
||||
};
|
||||
|
||||
var modules = [
|
||||
'panels/addons/addons_list',
|
||||
'MockAddonManager'
|
||||
];
|
||||
|
||||
define('MockAddonManager', function() {
|
||||
return {
|
||||
addons: {
|
||||
addEventListener: function() {},
|
||||
array: []
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
testRequire(modules, map, function(AddonsList, MockAddonManager) {
|
||||
addonsList = AddonsList(document.body, MockAddonManager);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
suite('_sortByName >', function() {
|
||||
test('addons should be in alphabetical order (case insensitive)',
|
||||
function() {
|
||||
var addons = [
|
||||
{ _app: { manifest: { name: 'second' } } },
|
||||
{ _app: { manifest: { name: 'X Last' } } },
|
||||
{ _app: { manifest: { name: 'Third' } } },
|
||||
{ _app: { manifest: { name: '1st' } } },
|
||||
];
|
||||
var sortedAddons = [
|
||||
{ _app: { manifest: { name: '1st' } } },
|
||||
{ _app: { manifest: { name: 'second' } } },
|
||||
{ _app: { manifest: { name: 'Third' } } },
|
||||
{ _app: { manifest: { name: 'X Last' } } }
|
||||
];
|
||||
|
||||
assert.deepEqual(
|
||||
addonsList._sortByName(addons),
|
||||
sortedAddons,
|
||||
'addons should be in the right order'
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
82
gaia/apps/settings/test/unit/panels/addons/panel_test.js
Executable file
82
gaia/apps/settings/test/unit/panels/addons/panel_test.js
Executable file
|
|
@ -0,0 +1,82 @@
|
|||
/* globals loadBodyHTML*/
|
||||
'use strict';
|
||||
|
||||
require('/shared/test/unit/load_body_html_helper.js');
|
||||
|
||||
suite('Addons Panel > ', function() {
|
||||
|
||||
var modules = [
|
||||
'panels/addons/panel',
|
||||
'panels/addons/addons_list',
|
||||
'unit/mock_addon_manager',
|
||||
'unit/mock_settings_panel'
|
||||
];
|
||||
var map = {
|
||||
'*': {
|
||||
'modules/settings_panel': 'unit/mock_settings_panel',
|
||||
'panels/addons/addons_list': 'MockAddonsList',
|
||||
'modules/addon_manager': 'unit/mock_addon_manager'
|
||||
}
|
||||
};
|
||||
|
||||
suiteSetup(function(done) {
|
||||
loadBodyHTML('_addons.html');
|
||||
// Create a new requirejs context
|
||||
var requireCtx = testRequire([], map, function() {});
|
||||
var that = this;
|
||||
|
||||
var MockAddonsList = {
|
||||
setFilter: sinon.stub().returns({
|
||||
then: function(callback) { callback(); }
|
||||
}),
|
||||
unsetFilter: sinon.stub().returns({
|
||||
then: function(callback) { callback(); }
|
||||
}),
|
||||
set enabled(value) { this._enabled = value; },
|
||||
get enabled() { return this._enabled; }
|
||||
};
|
||||
|
||||
define('MockAddonsList', function() {
|
||||
return function() {
|
||||
return MockAddonsList;
|
||||
};
|
||||
});
|
||||
|
||||
requireCtx(modules, function(AddonsPanel, MockAddonsList,
|
||||
MockAddonManager, MockSettingsPanel) {
|
||||
MockSettingsPanel.mInnerFunction = options => Object.assign({}, options);
|
||||
|
||||
that.panel = AddonsPanel();
|
||||
that.addonsList = MockAddonsList();
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
suite('panel initialized', function() {
|
||||
setup(function() {
|
||||
this.panel.onInit(document.body);
|
||||
assert.notOk(this.addonsList.enabled);
|
||||
this.panel.onBeforeShow();
|
||||
});
|
||||
test('no filter should be set', function() {
|
||||
assert(this.addonsList.setFilter.notCalled);
|
||||
assert.isTrue(this.addonsList.enabled);
|
||||
});
|
||||
});
|
||||
|
||||
suite('panel initialized with filter', function() {
|
||||
setup(function() {
|
||||
this.panel.onInit(document.body);
|
||||
this.panel.onBeforeShow(document.body, { manifestURL: 'test' });
|
||||
});
|
||||
test('filter should be set', function() {
|
||||
assert(this.addonsList.setFilter.calledOnce);
|
||||
assert.isTrue(this.addonsList.enabled);
|
||||
});
|
||||
test('filter should be unset', function() {
|
||||
this.panel.onBeforeHide();
|
||||
assert(this.addonsList.unsetFilter.calledOnce);
|
||||
assert.isFalse(this.addonsList.enabled);
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue