Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/apps/system/test/unit/lockscreen_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/system/test/unit/lockscreen_test.js')
-rw-r--r--apps/system/test/unit/lockscreen_test.js122
1 files changed, 0 insertions, 122 deletions
diff --git a/apps/system/test/unit/lockscreen_test.js b/apps/system/test/unit/lockscreen_test.js
deleted file mode 100644
index 7258670..0000000
--- a/apps/system/test/unit/lockscreen_test.js
+++ /dev/null
@@ -1,122 +0,0 @@
-'use strict';
-
-requireApp('system/test/unit/mock_settings_listener.js');
-requireApp('system/test/unit/mocks_helper.js');
-requireApp('system/test/unit/mock_l10n.js');
-
-requireApp('system/js/lockscreen.js');
-
-var mocksForStatusBar = ['SettingsListener'];
-
-mocksForStatusBar.forEach(function(mockName) {
- if (! window[mockName]) {
- window[mockName] = null;
- }
-});
-
-suite('lockscreen', function() {
- var mocksHelper;
-
- var realSettingsListener, realMozL10n;
-
- var fakeLockscreenPanel;
-
- var red_png, green_png;
-
- suiteSetup(function() {
- mocksHelper = new MocksHelper(mocksForStatusBar);
- mocksHelper.suiteSetup();
- realMozL10n = navigator.mozL10n;
- navigator.mozL10n = MockL10n;
-
- red_png =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAHgAQMAAADuQiYHAAAAA1BMVEX/AAAZ4gk3AAAAKUlEQVR4Xu3AMQEAAADCIPuntsROWAQAAAAAAAAAAAAAAAAAAAAAAADgTOAAAZXle7kAAAAASUVORK5CYII=';
- green_png =
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAHgAQMAAAAlmcL5AAAAA1BMVEUAgACc+aWRAAAAKUlEQVR4Xu3BMQEAAADCoPVPbQ0PoAAAAAAAAAAAAAAAAAAAAAAAAL4MSSAAAZTTyRkAAAAASUVORK5CYII=';
- });
-
- suiteTeardown(function() {
- mocksHelper.suiteTeardown();
- navigator.mozL10n = realMozL10n;
- });
-
- setup(function() {
- fakeLockscreenPanel = document.createElement('div');
- fakeLockscreenPanel.classList.add('lockscreen-panel');
- fakeLockscreenPanel.setAttribute('data-wallpaper', '');
- document.body.appendChild(fakeLockscreenPanel);
-
- mocksHelper.setup();
- });
-
- teardown(function() {
- fakeLockscreenPanel.parentNode.removeChild(fakeLockscreenPanel);
- mocksHelper.teardown();
- });
-
- test('wallpaper has vignette effect', function(done) {
- LockScreen.updateBackground(red_png);
-
- (function checkCanvas() {
- var canvas = fakeLockscreenPanel.getElementsByTagName('canvas')[0];
- if (!canvas) {
- setTimeout(checkCanvas, 10);
- return;
- }
- var ctx = canvas.getContext('2d');
- var top_pixel = ctx.getImageData(0, 0, 1, 1).data;
-
- assert.equal(top_pixel[0], 77);
- assert.equal(top_pixel[1], 0);
- assert.equal(top_pixel[2], 0);
-
- var center_width = Math.floor(canvas.width / 2);
- var center_height = Math.floor(canvas.height / 2);
- var center_pixel = ctx.getImageData(center_width, center_height,
- 1 , 1).data;
- assert.equal(center_pixel[0], 251);
- assert.equal(center_pixel[1], 0);
- assert.equal(center_pixel[2], 0);
-
- done();
- })();
-
- });
-
- test('multiple wallpaper updates only keep one canvas', function(done) {
- function waitFirstUpdate(callback) {
- var first_canvas = fakeLockscreenPanel.getElementsByTagName('canvas')[0];
- if (!first_canvas) {
- setTimeout(waitFirstUpdate, 10, callback);
- return;
- }
-
- setTimeout(callback, 10);
- }
-
- function waitSecondUpdate(callback) {
- var second_canvas = fakeLockscreenPanel.getElementsByTagName('canvas')[0];
-
- var ctx = second_canvas.getContext('2d');
- var top_pixel = ctx.getImageData(0, 0, 1, 1).data;
- // Canvas is not green yet
- if (top_pixel[1] == 0) {
- setTimeout(waitSecondUpdate, 10, callback);
- return;
- }
-
- setTimeout(callback, 10);
- }
-
- LockScreen.updateBackground(red_png);
- setTimeout(waitFirstUpdate, 10, function then() {
- LockScreen.updateBackground(green_png);
-
- setTimeout(waitSecondUpdate, 10, function then2() {
- assert.equal(fakeLockscreenPanel.getElementsByTagName('canvas').length, 1);
- done();
- });
- });
-
- });
-});