aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/dialog_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/dialog_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/ui/dialog_test.html707
1 files changed, 0 insertions, 707 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/dialog_test.html b/contexts/data/lib/closure-library/closure/goog/ui/dialog_test.html
deleted file mode 100644
index 6dd8e07..0000000
--- a/contexts/data/lib/closure-library/closure/goog/ui/dialog_test.html
+++ /dev/null
@@ -1,707 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-Copyright 2007 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.
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.ui.Dialog</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.dom');
- goog.require('goog.dom.a11y');
- goog.require('goog.events');
- goog.require('goog.events.EventType');
- goog.require('goog.fx.css3');
- goog.require('goog.style');
- goog.require('goog.testing.MockClock');
- goog.require('goog.testing.events');
- goog.require('goog.testing.jsunit');
- goog.require('goog.testing.recordFunction');
- goog.require('goog.ui.Dialog');
- goog.require('goog.ui.Dialog.ButtonSet');
- goog.require('goog.ui.PopupBase');
-</script>
-</head>
-<body>
-<iframe id="f" src="javascript:'<input>'"></iframe>
-<script>
- var decorateTarget;
- var dialog;
- var mockClock;
-
- function setUp() {
- mockClock = new goog.testing.MockClock(true);
- dialog = new goog.ui.Dialog();
- var buttons = new goog.ui.Dialog.ButtonSet();
- buttons.set(goog.ui.Dialog.DefaultButtonKeys.CANCEL,
- 'Foo!',
- false,
- true);
- buttons.set(goog.ui.Dialog.DefaultButtonKeys.OK,
- 'OK',
- true);
- dialog.setButtonSet(buttons);
- dialog.setVisible(true);
-
- decorateTarget = goog.dom.createDom('div');
- document.body.appendChild(decorateTarget);
- }
-
- function tearDown() {
- dialog.dispose();
- goog.dom.removeNode(decorateTarget);
- mockClock.dispose();
- }
-
- function testCrossFrameFocus() {
- // Firefox (3.6, maybe future versions) fails this test when there are too
- // many other test files being run concurrently.
- if (goog.userAgent.IE || goog.userAgent.GECKO) {
- return;
- }
- dialog.setVisible(false);
- var iframeWindow = goog.dom.getElement('f').contentWindow;
- var iframeInput = iframeWindow.document.getElementsByTagName('input')[0];
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- var buttonElement = dialog.getButtonSet().getButton(0);
- var focusCounter = 0;
- goog.events.listen(buttonElement, 'focus', function() {
- focusCounter++;
- });
- iframeInput.focus();
- dialog.setVisible(true);
- dialog.setVisible(false);
- iframeInput.focus();
- dialog.setVisible(true);
- assertEquals(2, focusCounter);
- }
-
- function testNoTitleClose() {
- assertTrue(goog.style.isElementShown(dialog.getTitleCloseElement()));
- dialog.setHasTitleCloseButton(false);
- assertFalse(goog.style.isElementShown(dialog.getTitleCloseElement()));
- }
-
- /**
- * Helper that clicks the first button in the dialog and checks if that
- * results in a goog.ui.Dialog.EventType.SELECT being dispatched.
- * @param {boolean} disableButton Whether to disable the button being
- * tested.
- * @return {boolean} Whether a goog.ui.Dialog.EventType.SELECT was dispatched.
- */
- function checkSelectDispatchedOnButtonClick(disableButton) {
- var aButton = dialog.getButtonElement().getElementsByTagName('BUTTON')[0];
- assertNotEquals(aButton, null);
- aButton.disabled = disableButton;
- var wasCalled = false;
- var callRecorder = function() { wasCalled = true; };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.SELECT, callRecorder);
- goog.testing.events.fireClickSequence(aButton);
- return wasCalled;
- }
-
- function testButtonClicksDispatchSelectEvents() {
- assertTrue('Select event should be dispatched' +
- ' when clicking on an enabled button',
- checkSelectDispatchedOnButtonClick(false));
- }
-
- function testDisabledButtonClicksDontDispatchSelectEvents() {
- assertFalse('Select event should not be dispatched' +
- ' when clicking on a disabled button',
- checkSelectDispatchedOnButtonClick(true));
- }
-
- function testEnterKeyDispatchesDefaultSelectEvents() {
- var okButton = dialog.getButtonElement().getElementsByTagName('BUTTON')[1];
- assertNotEquals(okButton, null);
- var wasCalled = false;
- var callRecorder = function() { wasCalled = true; };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.SELECT, callRecorder);
- // Test that event is not dispatched when default button is disabled.
- okButton.disabled = true;
- goog.testing.events.fireKeySequence(dialog.getElement(),
- goog.events.KeyCodes.ENTER);
- assertFalse(wasCalled);
- // Test that event is dispatched when default button is enabled.
- okButton.disabled = false;
- goog.testing.events.fireKeySequence(dialog.getElement(),
- goog.events.KeyCodes.ENTER);
- assertTrue(wasCalled);
- }
-
- function testEnterKeyDoesNothingOnSpecialFormElements() {
- dialog.setContent('<textarea>Hello dialog</textarea>');
- var textarea = dialog.getContentElement().
- getElementsByTagName('TEXTAREA')[0];
- var wasCalled = false;
- var callRecorder = function() {
- wasCalled = true;
- };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.SELECT, callRecorder);
-
- // Enter does not fire on the enabled textarea.
- goog.testing.events.fireKeySequence(textarea,
- goog.events.KeyCodes.ENTER);
- assertFalse(wasCalled);
-
- // Enter fires on the disabled textarea.
- textarea.disabled = true;
- goog.testing.events.fireKeySequence(textarea,
- goog.events.KeyCodes.ENTER);
- assertTrue(wasCalled);
- }
-
- function testEscapeKeyDoesNothingOnSpecialFormElements() {
- dialog.setContent('<select><option>Hello</option>' +
- '<option>dialog</option></select>');
- var select = dialog.getContentElement().
- getElementsByTagName('SELECT')[0];
- var wasCalled = false;
- var callRecorder = function() {
- wasCalled = true;
- };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.SELECT, callRecorder);
-
- // Escape does not fire on the enabled select box.
- goog.testing.events.fireKeySequence(select,
- goog.events.KeyCodes.ESC);
- assertFalse(wasCalled);
-
- // Escape fires on the disabled select.
- select.disabled = true;
- goog.testing.events.fireKeySequence(select,
- goog.events.KeyCodes.ESC);
- assertTrue(wasCalled);
- }
-
- function testEscapeCloses() {
- // If escapeCloses is set to false, the dialog should ignore the escape key
- assertTrue(dialog.isEscapeToCancel());
- dialog.setEscapeToCancel(false);
- assertFalse(dialog.isEscapeToCancel());
-
- var buttons = new goog.ui.Dialog.ButtonSet();
- buttons.set(goog.ui.Dialog.DefaultButtonKeys.OK, 'OK', true);
- dialog.setButtonSet(buttons);
- goog.testing.events.fireKeySequence(dialog.getContentElement(),
- goog.events.KeyCodes.ESC);
- assertTrue(dialog.isVisible());
-
- // Having a cancel button should make no difference, escape should still not
- // work.
- buttons.set(goog.ui.Dialog.DefaultButtonKeys.CANCEL, 'Foo!', false, true);
- dialog.setButtonSet(buttons);
- goog.testing.events.fireKeySequence(dialog.getContentElement(),
- goog.events.KeyCodes.ESC);
- assertTrue(dialog.isVisible());
- }
-
- function testKeydownClosesWithoutButtonSet() {
- // Clear button set
- dialog.setButtonSet(null);
-
- // Create a custom button.
- dialog.setContent('<button id="button" name="ok">OK</button>');
- var wasCalled = false;
- function called() {
- wasCalled = true;
- }
- var element = goog.dom.getElement('button');
- goog.events.listen(element, goog.events.EventType.KEYPRESS, called);
- // Listen for 'Enter' on the button.
- // This tests using a dialog with no ButtonSet that has been set. Uses
- // a custom button. The callback should be called with no exception thrown.
- goog.testing.events.fireKeySequence(element, goog.events.KeyCodes.ENTER);
- assertTrue('Should have gotten event on the button.', wasCalled);
- }
-
- function testEnterKeyWithoutDefaultDoesNotPreventPropagation() {
- var buttons = new goog.ui.Dialog.ButtonSet();
- buttons.set(goog.ui.Dialog.DefaultButtonKeys.CANCEL,
- 'Foo!',
- false);
- // Set a button set without a default selected button
- dialog.setButtonSet(buttons);
- dialog.setContent('<span id="linkel" tabindex="0">Link Span</span>');
-
- var call = false;
- function called() {
- call = true;
- }
- var element = document.getElementById("linkel");
- goog.events.listen(element, goog.events.EventType.KEYDOWN, called);
- goog.testing.events.fireKeySequence(element, goog.events.KeyCodes.ENTER);
-
- assertTrue('Should have gotten event on the link', call);
- }
-
- function testPreventDefaultedSelectCausesStopPropagation() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK_CANCEL);
-
- var callCount = 0;
- var keypressCount = 0;
- var keydownCount = 0;
-
- var preventDefaulter = function(e) {
- e.preventDefault();
- };
-
- goog.events.listen(
- dialog, goog.ui.Dialog.EventType.SELECT, preventDefaulter);
- goog.events.listen(
- document.body, goog.events.EventType.KEYPRESS, function() {
- keypressCount++;
- });
- goog.events.listen(
- document.body, goog.events.EventType.KEYDOWN, function() {
- keydownCount++;
- });
-
- // Ensure that if the SELECT event is prevented, all key events
- // are still stopped from propagating.
- goog.testing.events.fireKeySequence(
- dialog.getElement(), goog.events.KeyCodes.ENTER);
- assertEquals('The KEYPRESS should be stopped', 0, keypressCount);
- assertEquals('The KEYDOWN should not be stopped', 1, keydownCount);
-
- keypressCount = 0;
- keydownCount = 0;
- goog.testing.events.fireKeySequence(
- dialog.getElement(), goog.events.KeyCodes.ESC);
- assertEquals('The KEYDOWN should be stopped', 0, keydownCount);
- // Note: Some browsers don't yield keypresses on escape, so don't check.
-
- goog.events.unlisten(
- dialog, goog.ui.Dialog.EventType.SELECT, preventDefaulter);
-
- keypressCount = 0;
- keydownCount = 0;
- goog.testing.events.fireKeySequence(
- dialog.getElement(), goog.events.KeyCodes.ENTER);
- assertEquals('The KEYPRESS should be stopped', 0, keypressCount);
- assertEquals('The KEYDOWN should not be stopped', 1, keydownCount);
- }
-
- function testEnterKeyHandledInKeypress() {
- var inKeyPress = false;
- goog.events.listen(
- document.body, goog.events.EventType.KEYPRESS,
- function() {
- inKeyPress = true;
- }, true /* capture */);
- goog.events.listen(
- document.body, goog.events.EventType.KEYPRESS,
- function() {
- inKeyPress = false;
- }, false /* !capture */);
- var selectCalled = false;
- goog.events.listen(
- dialog, goog.ui.Dialog.EventType.SELECT, function() {
- selectCalled = true;
- assertTrue(
- 'Select must be dispatched during keypress to allow popups',
- inKeyPress);
- });
-
- goog.testing.events.fireKeySequence(
- dialog.getElement(), goog.events.KeyCodes.ENTER);
- assertTrue(selectCalled);
- }
-
- function testButtonsWithContentsDispatchSelectEvents() {
- var aButton = dialog.getButtonElement().getElementsByTagName('BUTTON')[0];
- var aSpan = document.createElement('SPAN');
- aButton.appendChild(aSpan);
- var wasCalled = false;
- var callRecorder = function() { wasCalled = true; };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.SELECT, callRecorder);
- goog.testing.events.fireClickSequence(aSpan);
- assertTrue(wasCalled);
- }
-
- function testAfterHideEvent() {
- var wasCalled = false;
- var callRecorder = function() { wasCalled = true; };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.AFTER_HIDE,
- callRecorder);
- dialog.setVisible(false);
- assertTrue(wasCalled);
- }
-
- function testAfterShowEvent() {
- dialog.setVisible(false);
- var wasCalled = false;
- var callRecorder = function() { wasCalled = true; };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.AFTER_SHOW,
- callRecorder);
- dialog.setVisible(true);
- assertTrue(wasCalled);
- }
-
- function testCannedButtonSets() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.OK]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK_CANCEL);
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.OK,
- goog.ui.Dialog.DefaultButtonKeys.CANCEL]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.YES_NO);
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.YES,
- goog.ui.Dialog.DefaultButtonKeys.NO]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.YES_NO_CANCEL);
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.YES,
- goog.ui.Dialog.DefaultButtonKeys.NO,
- goog.ui.Dialog.DefaultButtonKeys.CANCEL]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.CONTINUE_SAVE_CANCEL);
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.CONTINUE,
- goog.ui.Dialog.DefaultButtonKeys.SAVE,
- goog.ui.Dialog.DefaultButtonKeys.CANCEL]);
- }
-
- function testFactoryButtonSets() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.createOk());
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.OK]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.createOkCancel());
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.OK,
- goog.ui.Dialog.DefaultButtonKeys.CANCEL]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.createYesNo());
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.YES,
- goog.ui.Dialog.DefaultButtonKeys.NO]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.createYesNoCancel());
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.YES,
- goog.ui.Dialog.DefaultButtonKeys.NO,
- goog.ui.Dialog.DefaultButtonKeys.CANCEL]);
-
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.createContinueSaveCancel());
- assertButtons([goog.ui.Dialog.DefaultButtonKeys.CONTINUE,
- goog.ui.Dialog.DefaultButtonKeys.SAVE,
- goog.ui.Dialog.DefaultButtonKeys.CANCEL]);
- }
-
- function testDefaultButtonClassName() {
- var key = 'someKey';
- var msg = 'someMessage';
- var isDefault = false;
- var buttonSetOne = new goog.ui.Dialog.ButtonSet().set(key, msg, isDefault);
- dialog.setButtonSet(buttonSetOne);
- var defaultClassName = goog.getCssName(buttonSetOne.class_, 'default');
- var buttonOne = buttonSetOne.getButton(key);
- assertNotEquals(defaultClassName, buttonOne.className);
- var isDefault = true;
- var buttonSetTwo = new goog.ui.Dialog.ButtonSet().set(key, msg, isDefault);
- dialog.setButtonSet(buttonSetTwo);
- var buttonTwo = buttonSetTwo.getButton(key);
- assertEquals(defaultClassName, buttonTwo.className);
- }
-
- function testGetButton() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- var buttons = document.getElementsByName(
- goog.ui.Dialog.DefaultButtonKeys.OK);
- assertEquals(buttons[0], dialog.getButtonSet().getButton(
- goog.ui.Dialog.DefaultButtonKeys.OK));
- }
-
- function testGetAllButtons() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.YES_NO_CANCEL);
- var buttons = dialog.getElement().getElementsByTagName(
- goog.dom.TagName.BUTTON);
- for (var i = 0; i < buttons.length; i++) {
- assertEquals(buttons[i], dialog.getButtonSet().getAllButtons()[i]);
- }
- }
-
- function testSetButtonEnabled() {
- var buttonSet = goog.ui.Dialog.ButtonSet.createYesNoCancel();
- dialog.setButtonSet(buttonSet);
- assertFalse(
- buttonSet.getButton(goog.ui.Dialog.DefaultButtonKeys.NO).disabled);
- buttonSet.setButtonEnabled(goog.ui.Dialog.DefaultButtonKeys.NO, false);
- assertTrue(
- buttonSet.getButton(goog.ui.Dialog.DefaultButtonKeys.NO).disabled);
- buttonSet.setButtonEnabled(goog.ui.Dialog.DefaultButtonKeys.NO, true);
- assertFalse(
- buttonSet.getButton(goog.ui.Dialog.DefaultButtonKeys.NO).disabled);
- }
-
- function testSetAllButtonsEnabled() {
- var buttonSet = goog.ui.Dialog.ButtonSet.createContinueSaveCancel();
- dialog.setButtonSet(buttonSet);
- var buttons = buttonSet.getAllButtons();
- for (var i = 0; i < buttons.length; i++) {
- assertFalse(buttons[i].disabled);
- }
-
- buttonSet.setAllButtonsEnabled(false);
- for (var i = 0; i < buttons.length; i++) {
- assertTrue(buttons[i].disabled);
- }
-
- buttonSet.setAllButtonsEnabled(true);
- for (var i = 0; i < buttons.length; i++) {
- assertFalse(buttons[i].disabled);
- }
- }
-
- function testIframeMask() {
- // generate a new dialog
- dialog.dispose();
- dialog = new goog.ui.Dialog(null, true /* iframe mask */);
- dialog.setVisible(true);
-
- var iframes =
- goog.dom.getElementsByTagNameAndClass(goog.dom.TagName.IFRAME);
- // NOTE: one iframe already exists in the document, so we check for 1 extra
- // iframe.
- assertEquals('No iframe mask created', 2, iframes.length);
- }
-
- function testNonModalDialog() {
- // generate a new dialog
- dialog.dispose();
- dialog = new goog.ui.Dialog(null, true /* iframe mask */);
- dialog.setModal(false);
- dialog.setVisible(true);
-
- var iframes =
- goog.dom.getElementsByTagNameAndClass(goog.dom.TagName.IFRAME);
- // NOTE: one iframe already exists in the document, so we check there are
- // no extra iframes in the document.
- assertEquals('Iframe mask created for modal dialog', 1, iframes.length);
- }
-
- function testSwapModalForOpenDialog() {
- dialog.dispose();
- dialog = new goog.ui.Dialog(null, true /* iframe mask */);
- dialog.setVisible(true);
- dialog.setModal(false);
- assertFalse('IFrame bg element should not be in dom',
- goog.dom.contains(document.body, dialog.getBackgroundIframe()));
- assertFalse('bg element should not be in dom',
- goog.dom.contains(document.body, dialog.getBackgroundElement()));
-
- dialog.setModal(true);
- assertTrue('IFrame bg element should be in dom',
- goog.dom.contains(document.body, dialog.getBackgroundIframe()));
- assertTrue('bg element should be in dom',
- goog.dom.contains(document.body, dialog.getBackgroundElement()));
-
- assertEquals('IFrame bg element is a child of body',
- document.body, dialog.getBackgroundIframe().parentNode);
- assertEquals('bg element is a child of body',
- document.body, dialog.getBackgroundElement().parentNode);
-
- assertTrue('IFrame bg element should visible',
- goog.style.isElementShown(dialog.getBackgroundIframe()));
- assertTrue('bg element should be visible',
- goog.style.isElementShown(dialog.getBackgroundElement()));
- }
-
- /**
- * Assert that the dialog has buttons with the given keys in the correct
- * order.
- * @param {Array.<string>} keys An array of button keys.
- */
- function assertButtons(keys) {
- var buttons = dialog.getElement().getElementsByTagName(
- goog.dom.TagName.BUTTON);
- var actualKeys = [];
- for (var i = 0; i < buttons.length; i++) {
- actualKeys[i] = buttons[i].name;
- }
- assertArrayEquals(keys, actualKeys);
- }
-
- function testButtonSetOkFiresDialogEventOnEscape() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- var wasCalled = false;
- var callRecorder = function() { wasCalled = true; };
- goog.events.listen(dialog, goog.ui.Dialog.EventType.SELECT,
- callRecorder);
- goog.testing.events.fireKeySequence(
- dialog.getElement(), goog.events.KeyCodes.ESC);
- assertTrue(wasCalled);
- }
-
- function testHideButtons_afterRender() {
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- assertTrue(goog.style.isElementShown(dialog.buttonEl_));
- dialog.setButtonSet(null);
- assertFalse(goog.style.isElementShown(dialog.buttonEl_));
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- assertTrue(goog.style.isElementShown(dialog.buttonEl_));
- }
-
- function testHideButtons_beforeRender() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.setButtonSet(null);
- dialog.setVisible(true);
- assertFalse(goog.style.isElementShown(dialog.buttonEl_));
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- assertTrue(goog.style.isElementShown(dialog.buttonEl_));
- }
-
- function testHideButtons_beforeDecorate() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.setButtonSet(null);
- dialog.decorate(decorateTarget);
- dialog.setVisible(true);
- assertFalse(goog.style.isElementShown(dialog.buttonEl_));
- dialog.setButtonSet(goog.ui.Dialog.ButtonSet.OK);
- assertTrue(goog.style.isElementShown(dialog.buttonEl_));
- }
-
- function testAriaLabelledBy_render() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.render();
- assertTrue(!!dialog.getTitleElement().id);
- assertEquals(dialog.getTitleElement().id,
- goog.dom.a11y.getState(dialog.getElement(), 'labelledby'));
- }
-
- function testAriaLabelledBy_decorate() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.decorate(decorateTarget);
- dialog.setVisible(true);
- assertTrue(!!dialog.getTitleElement().id);
- assertEquals(dialog.getTitleElement().id,
- goog.dom.a11y.getState(dialog.getElement(), 'labelledby'));
- }
-
-
- function testPreferredAriaRole_renderDefault() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.render();
- assertEquals(dialog.getPreferredAriaRole(),
- goog.dom.a11y.getRole(dialog.getElement()));
- }
-
- function testPreferredAriaRole_decorateDefault() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.decorate(decorateTarget);
- assertEquals(dialog.getPreferredAriaRole(),
- goog.dom.a11y.getRole(dialog.getElement()));
- }
-
- function testPreferredAriaRole_renderOverride() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.setPreferredAriaRole(goog.dom.a11y.Role.ALERTDIALOG);
- dialog.render();
- assertEquals(goog.dom.a11y.Role.ALERTDIALOG,
- goog.dom.a11y.getRole(dialog.getElement()));
- }
-
- function testPreferredAriaRole_decorateOverride() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.setPreferredAriaRole(goog.dom.a11y.Role.ALERTDIALOG);
- dialog.decorate(decorateTarget);
- assertEquals(goog.dom.a11y.Role.ALERTDIALOG,
- goog.dom.a11y.getRole(dialog.getElement()));
- }
-
- function testDefaultOpacityIsAppliedOnRender() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.render();
- assertEquals(0.5, goog.style.getOpacity(dialog.getBackgroundElement()));
- }
-
- function testDefaultOpacityIsAppliedOnDecorate() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.decorate(decorateTarget);
- assertEquals(0.5, goog.style.getOpacity(dialog.getBackgroundElement()));
- }
-
- function testDraggableStyle() {
- assertTrue('draggable CSS class is set', goog.dom.classes.has(
- dialog.titleEl_, 'modal-dialog-title-draggable'));
- dialog.setDraggable(false);
- assertFalse('draggable CSS class is removed', goog.dom.classes.has(
- dialog.titleEl_, 'modal-dialog-title-draggable'));
- }
-
- function testDraggingLifecycle() {
- dialog.dispose();
-
- dialog = new goog.ui.Dialog();
- dialog.setDraggerLimits_ = goog.testing.recordFunction();
- dialog.createDom();
- assertNull('dragger is not created in createDom', dialog.dragger_);
-
- dialog.setVisible(true);
- assertNotNull('dragger is created when the dialog is rendered',
- dialog.dragger_);
-
- assertNull('dragging limits are not set just before dragging',
- dialog.setDraggerLimits_.getLastCall());
- goog.testing.events.fireMouseDownEvent(dialog.titleEl_);
- assertNotNull('dragging limits are set',
- dialog.setDraggerLimits_.getLastCall());
-
- dialog.exitDocument();
- assertNull('dragger is cleaned up in exitDocument', dialog.dragger_);
- }
-
- function testDisposingVisibleDialogWithTransitionsDoesNotThrowException() {
- var transition = goog.fx.css3.fadeIn(dialog.getElement(),
- 0.1 /* duration */);
-
- dialog.setTransition(transition, transition, transition, transition);
- dialog.setVisible(true);
- dialog.dispose();
- // Nothing to assert. We only want to ensure that there is no error.
- }
-
- function testEventsDuringAnimation() {
- dialog.dispose();
- dialog = new goog.ui.Dialog();
- dialog.render();
- dialog.setTransition(
- goog.fx.css3.fadeIn(dialog.getElement(), 1),
- goog.fx.css3.fadeIn(dialog.getBackgroundElement(), 1),
- goog.fx.css3.fadeOut(dialog.getElement(), 1),
- goog.fx.css3.fadeOut(dialog.getBackgroundElement(), 1));
- dialog.setVisible(true);
- assertTrue(dialog.isVisible());
-
- var buttonSet = dialog.getButtonSet();
- var button = buttonSet.getButton(buttonSet.getDefault());
-
- // The button event fires while the animation is still going.
- goog.testing.events.fireClickSequence(button);
- mockClock.tick(2000);
- assertFalse(dialog.isVisible());
- }
-</script>
-</body>
-</html>