| Index: remoting/webapp/base/js/window_shape_unittest.js
|
| diff --git a/remoting/webapp/base/js/window_shape_unittest.js b/remoting/webapp/base/js/window_shape_unittest.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7c2ef3b6e0b18c90b1b343eac0574ff917f67037
|
| --- /dev/null
|
| +++ b/remoting/webapp/base/js/window_shape_unittest.js
|
| @@ -0,0 +1,76 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +(function() {
|
| +
|
| +'use strict';
|
| +
|
| +/** @type {remoting.WindowShape} */
|
| +var windowShape;
|
| +/** @type {HTMLElement} */
|
| +var elementToPosition;
|
| +/** @type {sinon.TestStub} */
|
| +var currentWindowStub;
|
| +/** @type {sinon.TestStub} */
|
| +var isAppsV2Stub;
|
| +
|
| +QUnit.module('WindowShape', {
|
| + beforeEach: function() {
|
| + windowShape = new remoting.WindowShape();
|
| + elementToPosition =
|
| + /** @type {HTMLElement} */ (document.createElement('div'));
|
| + sinon.stub(elementToPosition, 'getBoundingClientRect')
|
| + .returns({left: -50, top: -50, width: 50, height: 50});
|
| +
|
| + isAppsV2Stub = sinon.stub(base, 'isAppsV2', function() { return true; });
|
| + currentWindowStub = sinon.stub(chrome.app.window, 'current', function() {
|
| + return {
|
| + setShape: base.doNothing
|
| + };
|
| + });
|
| + },
|
| + afterEach: function() {
|
| + windowShape = null;
|
| + elementToPosition = null;
|
| + currentWindowStub.restore();
|
| + isAppsV2Stub.restore();
|
| + }
|
| +});
|
| +
|
| +QUnit.test('centerToDesktop() handles no desktop window',
|
| + function(assert) {
|
| + var originalInnerWidth = window.innerWidth;
|
| + var originalInnerHeight = window.innerHeight;
|
| + window.innerHeight = 100;
|
| + window.innerWidth = 100;
|
| +
|
| + windowShape.centerToDesktop(elementToPosition);
|
| + assert.equal(elementToPosition.style.left, '25px');
|
| + assert.equal(elementToPosition.style.top, '25px');
|
| +
|
| + window.innerWidth = originalInnerWidth;
|
| + window.innerHeight = originalInnerHeight;
|
| +});
|
| +
|
| +QUnit.test('centerToDesktop() handles single desktop window',
|
| + function(assert) {
|
| + windowShape.setDesktopRects([{left: 0, width: 100, top: 0, height: 100}]);
|
| + windowShape.centerToDesktop(elementToPosition);
|
| + assert.equal(elementToPosition.style.left, '25px');
|
| + assert.equal(elementToPosition.style.top, '25px');
|
| +});
|
| +
|
| +QUnit.test('centerToDesktop() handles multiple desktop window',
|
| + function(assert) {
|
| + windowShape.setDesktopRects([
|
| + {left: 0, width: 10, top: 0, height: 10},
|
| + {left: 90, width: 10, top: 90, height: 10}
|
| + ]);
|
| +
|
| + windowShape.centerToDesktop(elementToPosition);
|
| + assert.equal(elementToPosition.style.left, '25px');
|
| + assert.equal(elementToPosition.style.top, '25px');
|
| +});
|
| +
|
| +})();
|
|
|