aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/popupbase_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/popupbase_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/ui/popupbase_test.html338
1 files changed, 0 insertions, 338 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/popupbase_test.html b/contexts/data/lib/closure-library/closure/goog/ui/popupbase_test.html
deleted file mode 100644
index 8cc59f8..0000000
--- a/contexts/data/lib/closure-library/closure/goog/ui/popupbase_test.html
+++ /dev/null
@@ -1,338 +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)
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.ui.PopupBase</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.events.EventTarget');
- goog.require('goog.events.EventType');
- goog.require('goog.fx.Transition');
- goog.require('goog.fx.Transition.EventType');
- goog.require('goog.fx.css3');
- goog.require('goog.ui.Popup');
- goog.require('goog.testing.MockClock');
- goog.require('goog.testing.events');
- goog.require('goog.testing.jsunit');
-</script>
-<style>
-#moveOffscreenPopupDiv {
- position: absolute;
- width: 300px;
- height: 300px;
- top: -1000px;
-}
-</style>
-</head>
-<body>
-
-<div id="commonAncestor">
- <div id="targetDiv">
- Mouse and key target
- </div>
-
- <div id="popupDiv" style="visibility:hidden">
- Popup Contents Here.
- </div>
- <div id="moveOffscreenPopupDiv">
- Move offscreen popup contents here.
- </div>
-</div>
-
-<script>
-
-var targetDiv = goog.dom.getElement('targetDiv');
-var popupDiv = goog.dom.getElement('popupDiv');
-var clock;
-var popup;
-
-function setUp() {
- popup = new goog.ui.PopupBase(popupDiv);
- clock = new goog.testing.MockClock(true);
-}
-
-function tearDown() {
- popup.dispose();
- clock.uninstall();
- document.body.setAttribute('dir','ltr');
-}
-
-function testSetVisible() {
- popup.setVisible(true);
- assertEquals('visible', popupDiv.style.visibility);
- assertEquals('', popupDiv.style.display);
- popup.setVisible(false);
- assertEquals('hidden', popupDiv.style.visibility);
- assertEquals('none', popupDiv.style.display);
-}
-
-function testEscapeDismissal() {
- popup.setHideOnEscape(true);
- assertTrue('Sanity check that getHideOnEscape is true when set to true.',
- popup.getHideOnEscape());
- popup.setVisible(true);
- assertFalse('Escape key should be cancelled',
- goog.testing.events.fireKeySequence(
- targetDiv, goog.events.KeyCodes.ESC));
- assertFalse(popup.isVisible());
-}
-
-function testEscapeDismissalCanBeDisabled() {
- popup.setHideOnEscape(false);
- popup.setVisible(true);
- assertTrue('Escape key should be cancelled',
- goog.testing.events.fireKeySequence(
- targetDiv, goog.events.KeyCodes.ESC));
- assertTrue(popup.isVisible());
-}
-
-function testEscapeDismissalIsDisabledByDefault() {
- assertFalse(popup.getHideOnEscape());
-}
-
-function testEscapeDismissalDoesNotRecognizeOtherKeys() {
- popup.setHideOnEscape(true);
- popup.setVisible(true);
- var eventsPropagated = 0;
- goog.events.listenOnce(goog.dom.getElement('commonAncestor'),
- [goog.events.EventType.KEYDOWN,
- goog.events.EventType.KEYUP,
- goog.events.EventType.KEYPRESS],
- function() {
- ++eventsPropagated;
- });
- assertTrue('Popup should remain visible', popup.isVisible());
- assertTrue('The key event default action should not be prevented',
- goog.testing.events.fireKeySequence(
- targetDiv, goog.events.KeyCodes.A));
- assertEquals('Keydown, keyup, and keypress should have all propagated',
- 3, eventsPropagated);
-}
-
-function testEscapeDismissalCanBeCancelledByBeforeHideEvent() {
- popup.setHideOnEscape(true);
- popup.setVisible(true);
- var eventsPropagated = 0;
- goog.events.listenOnce(goog.dom.getElement('commonAncestor'),
- goog.events.EventType.KEYDOWN,
- function() {
- ++eventsPropagated;
- });
- // Make a listener so that we stop hiding with an event handler.
- goog.events.listenOnce(popup, goog.ui.PopupBase.EventType.BEFORE_HIDE,
- function(e) {
- e.preventDefault();
- });
- assertEquals('The hide should have been cancelled',
- true, popup.isVisible());
- assertTrue('The key event default action should not be prevented',
- goog.testing.events.fireKeySequence(
- targetDiv, goog.events.KeyCodes.ESC));
- assertEquals('Keydown should have all propagated',
- 1, eventsPropagated);
-}
-
-function testEscapeDismissalProvidesKeyTargetAsTargetForHideEvents() {
- popup.setHideOnEscape(true);
- popup.setVisible(true);
- var calls = 0;
- goog.events.listenOnce(popup,
- [goog.ui.PopupBase.EventType.BEFORE_HIDE,
- goog.ui.PopupBase.EventType.HIDE],
- function(e) {
- calls++;
- assertEquals('The key target should be the hide event target',
- 'targetDiv', e.target.id);
- });
- goog.testing.events.fireKeySequence(
- targetDiv, goog.events.KeyCodes.ESC);
-}
-
-function testAutoHide() {
- popup.setAutoHide(true);
- popup.setVisible(true);
- clock.tick(1000); // avoid bouncing
- goog.testing.events.fireClickSequence(targetDiv);
- assertFalse(popup.isVisible());
-}
-
-function testAutoHideCanBeDisabled() {
- popup.setAutoHide(false);
- popup.setVisible(true);
- clock.tick(1000); // avoid bouncing
- goog.testing.events.fireClickSequence(targetDiv);
- assertTrue('Should not be hidden if auto hide is disabled', popup.isVisible());
-}
-
-function testAutoHideEnabledByDefault() {
- assertTrue(popup.getAutoHide());
-}
-
-function testCanAddElementDuringBeforeShow() {
- popup.setElement(null);
- goog.events.listenOnce(popup, goog.ui.PopupBase.EventType.BEFORE_SHOW,
- function() {
- popup.setElement(popupDiv);
- });
- popup.setVisible(true);
- assertTrue('Popup should be shown', popup.isVisible());
-}
-
-function testShowWithNoElementThrowsException() {
- popup.setElement(null);
- var e = assertThrows(function() {
- popup.setVisible(true);
- });
- assertEquals('Caller must call setElement before trying to show the popup',
- e.message);
-}
-
-function testShowEventFiredWithNoTransition() {
- var showHandlerCalled = false;
- goog.events.listen(popup, goog.ui.PopupBase.EventType.SHOW, function() {
- showHandlerCalled = true;
- });
-
- popup.setVisible(true);
- assertTrue(showHandlerCalled);
-}
-
-function testHideEventFiredWithNoTransition() {
- var hideHandlerCalled = false;
- goog.events.listen(popup, goog.ui.PopupBase.EventType.HIDE, function() {
- hideHandlerCalled = true;
- });
-
- popup.setVisible(true);
- popup.setVisible(false);
- assertTrue(hideHandlerCalled);
-}
-
-function testOnShowTransition() {
- var mockTransition = new MockTransition();
-
- var showHandlerCalled = false;
- goog.events.listen(popup, goog.ui.PopupBase.EventType.SHOW, function() {
- showHandlerCalled = true;
- });
-
- popup.setTransition(mockTransition);
- popup.setVisible(true);
- assertTrue(mockTransition.wasPlayed);
-
- assertFalse(showHandlerCalled);
- mockTransition.dispatchEvent(goog.fx.Transition.EventType.END);
- assertTrue(showHandlerCalled);
-}
-
-function testOnHideTransition() {
- var mockTransition = new MockTransition();
-
- var hideHandlerCalled = false;
- goog.events.listen(popup, goog.ui.PopupBase.EventType.HIDE, function() {
- hideHandlerCalled = true;
- });
-
- popup.setTransition(undefined, mockTransition);
- popup.setVisible(true);
- assertFalse(mockTransition.wasPlayed);
-
- popup.setVisible(false);
- assertTrue(mockTransition.wasPlayed);
-
- assertFalse(hideHandlerCalled);
- mockTransition.dispatchEvent(goog.fx.Transition.EventType.END);
- assertTrue(hideHandlerCalled);
-}
-
-function testSetVisibleWorksCorrectlyWithTransitions() {
- popup.setTransition(
- goog.fx.css3.fadeIn(popup.getElement(), 1),
- goog.fx.css3.fadeOut(popup.getElement(), 1));
-
- // Consecutive calls to setVisible works without needing to wait for
- // transition to finish.
- popup.setVisible(true);
- assertTrue(popup.isVisible());
- popup.setVisible(false);
- assertFalse(popup.isVisible());
- clock.tick(1100);
-
- // Calling setVisible(true) immediately changed the state to visible.
- popup.setVisible(true);
- assertTrue(popup.isVisible());
- clock.tick(1100);
-
- // Consecutive calls to setVisible, in opposite order.
- popup.setVisible(false);
- popup.setVisible(true);
- assertTrue(popup.isVisible());
- clock.tick(1100);
-
- // Calling setVisible(false) immediately changed the state to not visible.
- popup.setVisible(false);
- assertFalse(popup.isVisible());
- clock.tick(1100);
-}
-
-function testWasRecentlyVisibleWorksCorrectlyWithTransitions() {
- popup.setTransition(
- goog.fx.css3.fadeIn(popup.getElement(), 1),
- goog.fx.css3.fadeOut(popup.getElement(), 1));
-
- popup.setVisible(true);
- clock.tick(1100);
- popup.setVisible(false);
- assertTrue(popup.isOrWasRecentlyVisible());
- clock.tick(goog.ui.PopupBase.DEBOUNCE_DELAY_MS);
- assertFalse(popup.isOrWasRecentlyVisible());
-}
-
-function testMoveOffscreenRTL() {
- document.body.setAttribute('dir','rtl');
- popup.reposition = function() {
- this.element_.style.left = '100px';
- this.element_.style.top = '100px';
- }
- popup.setType(goog.ui.PopupBase.Type.MOVE_OFFSCREEN);
- popup.setElement(goog.dom.getElement('moveOffscreenPopupDiv'));
- originalScrollWidth = goog.dom.getDocumentScrollElement().scrollWidth;
- popup.setVisible(true);
- popup.setVisible(false);
- assertFalse('Moving a popup offscreen should not cause scrollbars',
- goog.dom.getDocumentScrollElement().scrollWidth != originalScrollWidth);
-}
-
-/**
- * @implements {goog.fx.Transition}
- * @extends {goog.events.EventTarget}
- */
-var MockTransition = function() {
- goog.base(this);
- this.wasPlayed = false;
-};
-goog.inherits(MockTransition, goog.events.EventTarget);
-
-
-MockTransition.prototype.play = function() {
- this.wasPlayed = true;
-}
-
-
-MockTransition.prototype.stop = goog.nullFunction;
-
-
-// TODO(gboyer): Write better unit tests for click and cross-iframe dismissal.
-
-</script>
-</body>
-</html>