VulpesOS/gaia/apps/system/test/marionette/lockscreen_mozsettings_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

57 lines
1.8 KiB
JavaScript
Executable file

'use strict';
marionette('LockScreen: ensure mozSettings API works', function() {
var client = marionette.client();
var LockScreen = require('./lib/lockscreen.js');
var lockScreen = (new LockScreen()).start(client);
test('get lockscreen.enabled, and test if it get released', function() {
client.executeScript(function() {
var settings = window.wrappedJSObject.navigator.mozSettings;
if (null === settings) {
throw new Error('Can\'t get settings after previous session');
}
var lock = settings.createLock();
var result = lock.set({
'lockscreen.enabled': true
});
result.onsuccess = function() {
var isReleased = lock.closed;
if (!isReleased) {
throw new Error('The lock isn\'t closed after onsuccess' +
' and previous session');
}
};
result.onerror = function() {
throw new Error('Get error while try to access the entry');
};
});
client.executeScript(function() {
var settings = window.wrappedJSObject.navigator.mozSettings;
if (null === settings) {
throw new Error('Can\'t get settings after previous session');
}
var lock = settings.createLock();
var result = lock.get('lockscreen.enabled');
result.onsuccess = function() {
var isReleased = lock.closed;
if (!isReleased) {
throw new Error('The lock isn\'t closed after onsuccess' +
' and previous session');
}
};
result.onerror = function() {
throw new Error('Get error while try to access the entry');
};
});
});
test('test it can unlock and lock multiple times', function() {
lockScreen.relock();
for (var i = 0; i < 4; i ++) {
lockScreen.unlock();
lockScreen.lock();
}
});
});