mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 09:18:42 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
175
dom/system/tests/test_system_update_enabled.html
Normal file
175
dom/system/tests/test_system_update_enabled.html
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1037329
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>System Update API Test</title>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1037329">Test System Update API</a>
|
||||
<script type="application/javascript;version=1.8">
|
||||
|
||||
'use strict';
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function setup() {
|
||||
window.gUrl = SimpleTest.getTestFileURL('preload-SystemUpdateManager-jsm.js');
|
||||
window.gScript = SpecialPowers.loadChromeScript(gUrl);
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
function testGetProviders() {
|
||||
return new Promise(function(resolve, reject) {
|
||||
navigator.updateManager.getProviders().then(function(providerInfos) {
|
||||
info('num of providers: ' + providerInfos.length);
|
||||
for (let providerInfo of providerInfos) {
|
||||
info('provider info: ' + JSON.stringify(providerInfo));
|
||||
}
|
||||
resolve(providerInfos);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function testSetActiveProvider(providerInfos) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
//Find the mock provider for our testing provider instead.
|
||||
//Set the mock provider as active provider.
|
||||
let targetProvider = providerInfos[0];
|
||||
for(let provider of providerInfos) {
|
||||
if(provider.uuid == "{17a84227-28f4-453d-9b80-9ae75a5682e0}") {
|
||||
info('target provider uuid: ' + provider.uuid);
|
||||
targetProvider = provider;
|
||||
break;
|
||||
}
|
||||
}
|
||||
is("{17a84227-28f4-453d-9b80-9ae75a5682e0}", targetProvider.uuid, 'get the dynamically added provider');
|
||||
navigator.updateManager.setActiveProvider(targetProvider.uuid).then(function(activeProvider) {
|
||||
info('active provider info: ' + JSON.stringify(activeProvider.info));
|
||||
is(activeProvider.name, targetProvider.name, 'expected name of active provider');
|
||||
is(activeProvider.uuid, targetProvider.uuid, 'expected uuid of active provider');
|
||||
resolve({name : activeProvider.name, uuid : activeProvider.uuid});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function testGetActiveProvider(providerInfo) {
|
||||
info('test GetActiveProvider');
|
||||
return new Promise(function(resolve, reject) {
|
||||
navigator.updateManager.getActiveProvider().then(function(activeProvider) {
|
||||
is(activeProvider.name, providerInfo.name, 'expected name of active provider');
|
||||
is(activeProvider.uuid, providerInfo.uuid, 'expected uuid of active provider');
|
||||
resolve(activeProvider);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function testCheckForUpdate(provider) {
|
||||
info('test CheckForUpdate');
|
||||
return new Promise(function(resolve, reject) {
|
||||
provider.addEventListener('updateavailable', function(event) {
|
||||
ok(true, 'receive updateavailable event');
|
||||
info('event: ' + JSON.stringify(event.detail));
|
||||
resolve(provider);
|
||||
});
|
||||
provider.checkForUpdate();
|
||||
});
|
||||
}
|
||||
|
||||
function testStartDownload(provider) {
|
||||
info('test StartDownload');
|
||||
return new Promise(function(resolve, reject) {
|
||||
provider.addEventListener('progress', function(event) {
|
||||
ok(true, 'receive progress event');
|
||||
is(event.loaded, 10, 'expected loaded');
|
||||
is(event.total, 100, 'expected total');
|
||||
resolve(provider);
|
||||
});
|
||||
provider.startDownload();
|
||||
});
|
||||
}
|
||||
function testStopDownload(provider) {
|
||||
info('test StopDownload');
|
||||
return new Promise(function(resolve, reject) {
|
||||
provider.stopDownload();
|
||||
resolve(provider);
|
||||
});
|
||||
}
|
||||
function testApplyUpdate(provider) {
|
||||
info('test ApplyUpdate');
|
||||
return new Promise(function(resolve, reject) {
|
||||
provider.applyUpdate();
|
||||
resolve(provider);
|
||||
});
|
||||
}
|
||||
function testGetParameter(provider) {
|
||||
info('test GetParameter');
|
||||
return new Promise(function(resolve, reject) {
|
||||
let dummy = provider.getParameter('dummy');
|
||||
is(dummy, 'dummy-value', 'expected parameter');
|
||||
resolve(provider);
|
||||
});
|
||||
}
|
||||
function testSetParameter(provider) {
|
||||
info('test SetParameter');
|
||||
return new Promise(function(resolve, reject) {
|
||||
provider.setParameter('dummy', 'dummy-value');
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
function testSetActiveProviderError() {
|
||||
info('test setActiveProvider error');
|
||||
return new Promise(function(resolve, reject) {
|
||||
navigator.updateManager.setActiveProvider('something not exsited').then(function(provider) {
|
||||
ok(false, 'should not success');
|
||||
resolve();
|
||||
}, function(reason) {
|
||||
info('error message: ' + reason);
|
||||
ok(true, 'expected error while setActiveProvider');
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function runTest() {
|
||||
ok(navigator.updateManager, 'should have navigator.updateManager');
|
||||
|
||||
setup()
|
||||
.then(testGetProviders)
|
||||
.then(testSetActiveProvider)
|
||||
.then(testGetActiveProvider)
|
||||
.then(testCheckForUpdate)
|
||||
.then(testStartDownload)
|
||||
.then(testStopDownload)
|
||||
.then(testApplyUpdate)
|
||||
.then(testGetParameter)
|
||||
.then(testSetParameter)
|
||||
.then(testSetActiveProviderError)
|
||||
.then(function() {
|
||||
info('test finished');
|
||||
gScript.destroy();
|
||||
SimpleTest.finish();
|
||||
});
|
||||
}
|
||||
|
||||
SpecialPowers.pushPermissions([
|
||||
{type: 'system-update', allow: true, context: document},
|
||||
], function() {
|
||||
SpecialPowers.pushPrefEnv({
|
||||
'set': [
|
||||
['dom.system_update.enabled', true],
|
||||
['dom.system_update.debug', true],
|
||||
['dom.system_update.active', '@mozilla.org/test-update-provider;1'],
|
||||
]
|
||||
}, runTest);
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue