diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/iframemask_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/ui/iframemask_test.html | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/iframemask_test.html b/contexts/data/lib/closure-library/closure/goog/ui/iframemask_test.html deleted file mode 100644 index eeea52b..0000000 --- a/contexts/data/lib/closure-library/closure/goog/ui/iframemask_test.html +++ /dev/null @@ -1,230 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2008 The Closure Library Authors. All Rights Reserved. - -Use of this source code is governed by the Apache License, Version 2.0. -See the COPYING file for details. ---> -<!-- - - @author gboyer@google.com (Garrett Boyer) - @author nicksantos@google.com (Nick Santos) (Ported to Closure) ---> -<head> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<title>goog.ui.IframeMask Unit Test</title> -<script src="../base.js"></script> -<script> - goog.require('goog.testing.jsunit'); - goog.require('goog.testing.MockClock'); - goog.require('goog.testing.StrictMock'); - goog.require('goog.ui.IframeMask'); - goog.require('goog.ui.Popup'); - goog.require('goog.structs.Pool'); -</script> -<style type="text/css"> -#popup { - position: absolute; - left: 100px; - top: 900px; /* so that you can see unit test failures */ - width: 300px; - height: 400px; -} -</style> -</head> -<body> - -<div id="sandbox"></div> - -<script> - -var iframeMask; -var mockClock; - -function setUp() { - goog.dom.getElement('sandbox').innerHTML = '<div id="popup"></div>'; - mockClock = new goog.testing.MockClock(true); - - iframeMask = new goog.ui.IframeMask(); -} - -function tearDown() { - iframeMask.dispose(); - mockClock.dispose(); - - assertNoIframes(); -} - -function findOneAndOnlyIframe() { - var iframes = document.getElementsByTagName(goog.dom.TagName.IFRAME); - assertEquals('There should be exactly 1 iframe in the document', - 1, iframes.length); - return iframes[0]; -} - -function assertNoIframes() { - assertEquals('Expected no iframes in the document', 0, - goog.dom.getElementsByTagNameAndClass(goog.dom.TagName.IFRAME).length); -} - -function testApplyFullScreenMask() { - iframeMask.applyMask(); - - var iframe = findOneAndOnlyIframe(); - assertEquals('block', iframe.style.display); - assertEquals('absolute', iframe.style.position); - - // coerce zindex to a string - assertEquals('1', iframe.style.zIndex + ''); - - iframeMask.hideMask(); - assertEquals('none', iframe.style.display); -} - -function testApplyOpacity() { - iframeMask.setOpacity(0.3); - iframeMask.applyMask(); - - if (goog.userAgent.IE) { - assertContains('Expected opactity to be set in the CSS style', - '30', findOneAndOnlyIframe().style.cssText); - } else { - assertContains('Expected opactity to be set in the CSS style', - '0.3', findOneAndOnlyIframe().style.cssText); - } -} - -function testApplyZIndex() { - iframeMask.setZIndex(5); - iframeMask.applyMask(); - - // coerce zindex to a string - assertEquals('5', findOneAndOnlyIframe().style.zIndex + ''); -} - -function testSnapElement() { - iframeMask.setSnapElement(goog.dom.getElement('popup')); - iframeMask.applyMask(); - - var iframe = findOneAndOnlyIframe(); - var bounds = goog.style.getBounds(iframe); - assertEquals(100, bounds.left); - assertEquals(900, bounds.top); - assertEquals(300, bounds.width); - assertEquals(400, bounds.height); - - iframeMask.setSnapElement(document.documentElement); - - // Make sure that snapping to a different element changes the bounds. - assertNotEquals('Snap element not updated', - 400, goog.style.getBounds(iframe).height); -} - -function testAttachToPopup() { - var popup = new goog.ui.Popup(goog.dom.getElement('popup')); - iframeMask.listenOnTarget(popup, goog.ui.PopupBase.EventType.SHOW, - goog.ui.PopupBase.EventType.HIDE, goog.dom.getElement('popup')); - - assertNoIframes(); - popup.setVisible(true); - assertNoIframes(); - - // Tick because the showing of the iframe mask happens asynchronously. - // (Otherwise the handling of the mousedown can take so long that a bounce - // occurs). - mockClock.tick(1); - - var iframe = findOneAndOnlyIframe(); - var bounds = goog.style.getBounds(iframe); - assertEquals(300, bounds.width); - assertEquals(400, bounds.height); - assertEquals('block', iframe.style.display); - - popup.setVisible(false); - assertEquals('none', iframe.style.display); -} - -function testQuickHidingPopup() { - var popup = new goog.ui.Popup(goog.dom.getElement('popup')); - iframeMask.listenOnTarget(popup, goog.ui.PopupBase.EventType.SHOW, - goog.ui.PopupBase.EventType.HIDE); - - assertNoIframes(); - popup.setVisible(true); - assertNoIframes(); - popup.setVisible(false); - assertNoIframes(); - - // Tick because the showing of the iframe mask happens asynchronously. - // (Otherwise the handling of the mousedown can take so long that a bounce - // occurs). - mockClock.tick(1); - assertNoIframes(); -} - -function testRemoveHandlers() { - var popup = new goog.ui.Popup(goog.dom.getElement('popup')); - iframeMask.listenOnTarget(popup, goog.ui.PopupBase.EventType.SHOW, - goog.ui.PopupBase.EventType.HIDE); - iframeMask.removeHandlers(); - popup.setVisible(true); - - // Tick because the showing of the iframe mask happens asynchronously. - // (Otherwise the handling of the mousedown can take so long that a bounce - // occurs). - mockClock.tick(1); - assertNoIframes(); -} - -function testIframePool() { - var iframe = goog.dom.iframe.createBlank(goog.dom.getDomHelper()); - var mockPool = new goog.testing.StrictMock(goog.structs.Pool); - mockPool.getObject(); - mockPool.$returns(iframe); - - mockPool.$replay(); - - iframeMask.dispose(); - - // Create a new iframe mask with a pool, and verify that it checks - // its iframe out of the pool instead of creating one. - iframeMask = new goog.ui.IframeMask(null, mockPool); - iframeMask.applyMask(); - mockPool.$verify(); - findOneAndOnlyIframe(); - - mockPool.$reset(); - - mockPool.releaseObject(iframe); - mockPool.$replay(); - - // When the iframe mask has a pool, the pool is responsible for - // removing the iframe from the DOM. - iframeMask.hideMask(); - mockPool.$verify(); - findOneAndOnlyIframe() - - // And showing the iframe again should check it out of the pool again. - mockPool.$reset(); - mockPool.getObject(); - mockPool.$returns(iframe); - mockPool.$replay(); - - iframeMask.applyMask(); - mockPool.$verify(); - - // When the test is over, the iframe mask should be disposed. Make sure - // that the pool removes the iframe from the page. - mockPool.$reset(); - mockPool.releaseObject(iframe); - mockPool.$does(function() { - goog.dom.removeNode(iframe); - }); - mockPool.$replay(); -} - -</script> - -</body> -</html> |