VulpesOS/gaia/apps/system/test/raptor/lockscreen-lock2unlock-test.js
OverSu b38dea0597 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.
2026-09-30 23:13:03 +02:00

73 lines
2.2 KiB
JavaScript
Executable file

'use strict';
/* global setup, afterEach, marionetteScriptFinished */
/* Test from lock to unlock, how long does it take. */
setup(function(options) {
options.phase = 'reboot';
});
afterEach(function(phase) {
return phase.device.marionette
.startSession()
.then(function(client) {
var Deferred = function() {
this.promise = new Promise((function(res, rej) {
this.resolve = res;
this.reject = rej;
}).bind(this));
return this;
};
var deferred = new Deferred();
deferred.promise = deferred.promise.then(function() {
client.deleteSession();
}).catch(function(err) {
console.error(err);
throw err;
});
client.switchToFrame();
client.executeAsyncScript(function() {
var settings = window.wrappedJSObject.navigator.mozSettings;
var lock = settings.createLock();
lock.set({
'lockscreen.enabled': true
}).then(function() {
marionetteScriptFinished(null, 'success');
}).catch(function(err) {
marionetteScriptFinished(err, 'falied');
});
});
client.executeScript(function() {
window.wrappedJSObject.Service.request('lock');
});
client.waitFor(function() {
return client.executeScript(function() {
return window.wrappedJSObject.Service.query('locked');
});
});
client.executeScript(function() {
window.wrappedJSObject.Service.request('unlock');
});
client.waitFor(function() {
return client.executeScript(function() {
return !window.wrappedJSObject.Service.query('locked');
});
});
client.executeAsyncScript(function() {
var settings = window.wrappedJSObject.navigator.mozSettings;
var lock = settings.createLock();
lock.set({
'lockscreen.enabled': false
}).then(function() {
marionetteScriptFinished(null, 'success');
}).catch(function(err) {
marionetteScriptFinished(err, 'falied');
});
}, function(err) {
if (err) {
deferred.reject(err);
}
deferred.resolve();
});
return deferred.promise;
});
});