| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script language="JavaScript" type="text/javascript"> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| window.moveTo(0,0); |
| |
| description("This test makes sure that we have similar behavior as other\ |
| browsers when resizing and moving a window outside of the screen. This test\ |
| will fail in some dimensions when run manually because of inconsistencies of\ |
| when the window can and cannot go behind the doc."); |
| |
| var result; |
| var testName; |
| var x; |
| var y; |
| |
| // resizeTo ///////////////////////// |
| debug(''); |
| debug('window.resizeTo Tests'); |
| debug(''); |
| |
| x = screen.width*2; |
| y = screen.height*2; |
| window.resizeTo(x, y); |
| debug("Testing - resizeTo: Too Big"); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 50; |
| y = 50; |
| window.resizeTo(x, y); |
| debug("Testing - resizeTo: Too Small"); |
| shouldBe('window.outerWidth', '100'); |
| |
| debug(''); |
| x = screen.width/10; |
| y = screen.height/10; |
| window.moveTo(x, y); |
| x = screen.width; |
| y = screen.height; |
| window.resizeTo(x, y); |
| debug("Testing - resizeTo: Full Screen Out of Bounds"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| x = 100; |
| y = 100; |
| window.resizeTo(x, y); |
| x = screen.width/2; |
| y = screen.height/2; |
| window.moveTo(x, y); |
| x += 10; |
| y += 10; |
| window.resizeTo(x, y); |
| debug("Testing - resizeTo: Not Full Screen Out of Bounds"); |
| shouldBe('window.outerHeight + window.screenY - screen.availTop', 'screen.availHeight'); |
| shouldBe('window.outerWidth + window.screenX - screen.availLeft', 'screen.availWidth'); |
| |
| // resizeBy ///////////////////////// |
| debug(''); |
| debug('window.resizeBy Tests'); |
| debug(''); |
| |
| x = 150; |
| y = 150; |
| window.resizeTo(x, y); |
| x = -100; |
| y = -100; |
| window.resizeBy(x, y); |
| debug("Testing - resizeBy: Too Small"); |
| shouldBe('window.outerWidth', '100'); |
| |
| debug(''); |
| |
| x = screen.width*2; |
| y = screen.height*2; |
| window.resizeBy(x, y); |
| debug("Testing - resizeBy: Too Big"); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| window.moveTo(0,0); |
| window.resizeTo(screen.width, screen.height); |
| |
| // moveTo ///////////////////////// |
| debug(''); |
| debug('window.moveTo Tests'); |
| debug(''); |
| |
| x = -100; |
| y = -100; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Top Left"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = 0; |
| y = -100; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Top"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = 100; |
| y = -100; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Top Right"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 100; |
| y = 0; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Right"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 100; |
| y = 100; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Bottom Right"); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 0; |
| y = 100; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Bottom"); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = -100; |
| y = 100; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Bottom Left"); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = -100; |
| y = 0; |
| window.moveTo(x, y); |
| debug("Testing - moveTo: Left"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| window.moveTo(0,0); |
| window.resizeTo(screen.width, screen.height); |
| |
| // moveBy ///////////////////////// |
| debug(''); |
| debug('window.moveBy Tests'); |
| debug(''); |
| |
| x = 100; |
| y = 100; |
| window.resizeTo(x, y); |
| |
| x = 200; |
| y = 200; |
| window.moveTo(x, y); |
| |
| var previousScreenX = window.screenX; |
| var previousScreenY = window.screenY; |
| |
| x = 0; |
| y = 0; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Zero Zero"); |
| shouldBeTrue('window.screenX == previousScreenX'); |
| shouldBeTrue('window.screenY == previousScreenY'); |
| |
| debug(''); |
| |
| previousScreenX = window.screenX; |
| previousScreenY = window.screenY; |
| x = 1; |
| y = 0; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: One Zero"); |
| shouldBeTrue('window.screenX == previousScreenX + 1'); |
| shouldBeTrue('window.screenY == previousScreenY'); |
| |
| debug(''); |
| |
| previousScreenX = window.screenX; |
| previousScreenY = window.screenY; |
| x = 0; |
| y = 1; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Zero One"); |
| shouldBeTrue('window.screenX == previousScreenX'); |
| shouldBeTrue('window.screenY == previousScreenY + 1'); |
| |
| debug(''); |
| |
| window.moveTo(0,0); |
| window.resizeTo(screen.width, screen.height); |
| |
| x = -100; |
| y = -100; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Top Left"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = 0; |
| y = -100; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Top"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = 100; |
| y = -100; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Top Right"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 100; |
| y = 0; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Right"); |
| shouldBe('window.screenY', 'screen.availTop'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 100; |
| y = 100; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Bottom Right"); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| shouldBe('window.outerWidth', 'screen.availWidth'); |
| |
| debug(''); |
| |
| x = 0; |
| y = 100; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Bottom"); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| |
| debug(''); |
| |
| x = -1000; |
| y = 100; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Bottom Left"); |
| shouldBe('window.outerHeight', 'screen.availHeight'); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| x = -100; |
| y = 0; |
| window.moveBy(x, y); |
| debug("Testing - moveBy: Left"); |
| shouldBe('window.screenX', 'screen.availLeft'); |
| |
| debug(''); |
| |
| window.moveTo(0,0); |
| window.resizeTo(800,600); |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |