goog.ui.modalariavisibilityhelper_test.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of google-closure-library
Show all versions of google-closure-library
The Google Closure Library is a collection of JavaScript code
designed for use with the Google Closure JavaScript Compiler.
This non-official distribution was prepared by the ClojureScript
team at http://clojure.org/
// Copyright 2015 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
goog.provide('goog.ui.ModalAriaVisibilityHelperTest');
goog.setTestOnly('goog.ui.ModalAriaVisibilityHelperTest');
goog.require('goog.a11y.aria');
goog.require('goog.a11y.aria.State');
goog.require('goog.dom');
goog.require('goog.string');
goog.require('goog.testing.jsunit');
goog.require('goog.ui.ModalAriaVisibilityHelper');
function tearDown() {
clearAriaState('div-1');
clearAriaState('div-2');
clearAriaState('div-4');
}
function testHide() {
var helper = createHelper('div-1');
helper.setBackgroundVisibility(true /* hide */);
assertUnalteredElements();
assertEmptyAriaHiddenState('div-1');
assertAriaHiddenState('div-2', 'true');
assertAriaHiddenState('div-4', 'true');
}
function testUnhide() {
var helper = createHelper('div-1');
helper.setBackgroundVisibility(false /* hide */);
assertUnalteredElements();
assertEmptyAriaHiddenState('div-1');
assertEmptyAriaHiddenState('div-2');
assertEmptyAriaHiddenState('div-4');
}
function testMultipleCalls() {
var helper = createHelper('div-2');
helper.setBackgroundVisibility(true /* hide */);
assertUnalteredElements();
assertAriaHiddenState('div-1', 'true');
assertEmptyAriaHiddenState('div-2');
assertAriaHiddenState('div-4', 'true');
helper.setBackgroundVisibility(false /* hide */);
assertUnalteredElements();
assertEmptyAriaHiddenState('div-1');
assertEmptyAriaHiddenState('div-2');
assertEmptyAriaHiddenState('div-4');
helper.setBackgroundVisibility(true /* hide */);
assertUnalteredElements();
assertAriaHiddenState('div-1', 'true');
assertEmptyAriaHiddenState('div-2');
assertAriaHiddenState('div-4', 'true');
}
function assertUnalteredElements() {
assertEmptyAriaHiddenState('div-2-1');
assertAriaHiddenState('div-3', 'false');
assertAriaHiddenState('div-5', 'true');
}
/**
* @param {string} id Id of the element.
* @return {!goog.ui.ModalAriaVisibilityHelper}
*/
function createHelper(id) {
return new goog.ui.ModalAriaVisibilityHelper(
goog.dom.getElement(id), goog.dom.getDomHelper());
}
function clearAriaState(id) {
goog.a11y.aria.removeState(
goog.dom.getElement(id), goog.a11y.aria.State.HIDDEN);
}
/**
* @param {string} id Id of the element.
*/
function assertEmptyAriaHiddenState(id) {
var element = goog.dom.getElement(id);
assertTrue(
goog.string.isEmptyOrWhitespace(
goog.string.makeSafe(
goog.a11y.aria.getState(element, goog.a11y.aria.State.HIDDEN))));
}
/**
* @param {string} id Id of the element.
* @param {string} expectedState
*/
function assertAriaHiddenState(id, expectedState) {
var element = goog.dom.getElement(id);
assertEquals(
expectedState,
goog.a11y.aria.getState(element, goog.a11y.aria.State.HIDDEN));
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy