blob: 87647fb7579e7ffad64f5fd5dc3fec7239b28473 [file] [log] [blame]
// Copyright (c) 2012 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.
var pass = chrome.test.callbackPass;
var widthDelta = 10;
var heightDelta = 20;
var expectedWidth;
var expectedHeight;
function finishTest(currentWindow) {
chrome.test.assertEq(expectedWidth, currentWindow.width);
chrome.test.assertEq(expectedHeight, currentWindow.height);
chrome.windows.remove(currentWindow.id, pass());
}
function changeWidthAndHeight(currentWindow) {
chrome.test.assertEq(expectedWidth, currentWindow.width);
chrome.test.assertEq(expectedHeight, currentWindow.height);
expectedWidth = currentWindow.width + widthDelta;
expectedHeight = currentWindow.height + heightDelta;
chrome.windows.update(
currentWindow.id, { 'width': expectedWidth , 'height': expectedHeight},
pass(finishTest)
);
}
function changeHeight(currentWindow) {
chrome.test.assertEq(expectedWidth, currentWindow.width);
chrome.test.assertEq(expectedHeight, currentWindow.height);
expectedWidth = currentWindow.width;
expectedHeight = currentWindow.height + heightDelta;
chrome.windows.update(
currentWindow.id, { 'height': expectedHeight },
pass(changeWidthAndHeight)
);
}
function changeWidth(currentWindow) {
expectedWidth = currentWindow.width + widthDelta;
expectedHeight = currentWindow.height;
chrome.windows.update(
currentWindow.id, { 'width': expectedWidth },
pass(changeHeight)
);
}
chrome.test.runTests([
// Tests windows.update use of the chrome.windows.WINDOW_ID_CURRENT constant.
function testCurrentWindowResize() {
var newWidth = 500;
chrome.windows.create(
{ 'url': 'blank.html', 'top': 0, 'left': 0, 'width': 500, 'height': 400,
'type': 'normal' },
pass(function(win1) {
chrome.windows.getCurrent(pass(function(win2) {
chrome.test.assertEq(win1.id, win2.id);
chrome.windows.update(
chrome.windows.WINDOW_ID_CURRENT, { 'width': newWidth },
pass(function(win3) {
chrome.test.assertEq(win2.id, win3.id);
chrome.test.assertEq(newWidth, win3.width);
chrome.test.assertEq(win2.height, win3.height);
}));
}));
}));
},
function testResizeNormal() {
chrome.windows.create(
{ 'url': 'blank.html', 'top': 0, 'left': 0, 'width': 500, 'height': 500,
'type': 'normal' },
pass(changeWidth));
},
function testResizePopup() {
chrome.windows.create(
{ 'url': 'blank.html', 'top': 0, 'left': 0, 'width': 300, 'height': 400,
'type': 'popup' },
pass(changeWidth));
},
function testResizePanel() {
chrome.windows.create(
{ 'url': 'blank.html', 'top': 0, 'left': 0, 'width': 150, 'height': 200,
'type': 'panel' },
pass(changeWidth));
},
]);