This tests that you can't move/resize a window by calling a move/resize on a subframe.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".



frames[0].resizeTo Tests

PASS window.outerWidth is resetWidth
PASS window.outerHeight is resetHeight

frames[0].resizeBy Tests

PASS window.outerWidth is resetWidth
PASS window.outerHeight is resetHeight

frames[0].moveTo Tests

PASS window.screenX is resetX
PASS window.screenY is resetY

frames[0].moveBy Tests

PASS window.screenX is resetX
PASS window.screenY is resetY
PASS successfullyParsed is true

TEST COMPLETE

