Adding mapbox-gl branch
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
// Copyright 2013 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.CharPickerTest');
|
||||
goog.setTestOnly('goog.ui.CharPickerTest');
|
||||
|
||||
goog.require('goog.a11y.aria');
|
||||
goog.require('goog.a11y.aria.State');
|
||||
goog.require('goog.dispose');
|
||||
goog.require('goog.dom');
|
||||
goog.require('goog.events.Event');
|
||||
goog.require('goog.events.EventType');
|
||||
goog.require('goog.i18n.CharPickerData');
|
||||
goog.require('goog.i18n.uChar.NameFetcher');
|
||||
goog.require('goog.testing.MockControl');
|
||||
goog.require('goog.testing.events');
|
||||
goog.require('goog.testing.jsunit');
|
||||
goog.require('goog.testing.mockmatchers');
|
||||
goog.require('goog.ui.CharPicker');
|
||||
goog.require('goog.ui.FlatButtonRenderer');
|
||||
|
||||
var charPicker, charPickerData, charPickerElement;
|
||||
var mockControl, charNameFetcherMock;
|
||||
|
||||
function setUp() {
|
||||
mockControl = new goog.testing.MockControl();
|
||||
charNameFetcherMock = mockControl.createLooseMock(
|
||||
goog.i18n.uChar.NameFetcher, true /* opt_ignoreUnexpectedCalls */);
|
||||
|
||||
charPickerData = new goog.i18n.CharPickerData();
|
||||
charPickerElement = goog.dom.getElement('charpicker');
|
||||
|
||||
charPicker = new goog.ui.CharPicker(
|
||||
charPickerData, charNameFetcherMock);
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
goog.dispose(charPicker);
|
||||
goog.dom.removeChildren(charPickerElement);
|
||||
mockControl.$tearDown();
|
||||
}
|
||||
|
||||
function testAriaLabelIsUpdatedOnFocus() {
|
||||
var character = '←';
|
||||
var characterName = 'right arrow';
|
||||
|
||||
charNameFetcherMock.getName(
|
||||
character,
|
||||
goog.testing.mockmatchers.isFunction).
|
||||
$does(function(c, callback) {
|
||||
callback(characterName);
|
||||
});
|
||||
|
||||
mockControl.$replayAll();
|
||||
|
||||
charPicker.decorate(charPickerElement);
|
||||
|
||||
// Get the first button elements within the grid div and override its
|
||||
// char attribute so the test doesn't depend on the actual grid content.
|
||||
var gridElement = goog.dom.getElementByClass(
|
||||
goog.getCssName('goog-char-picker-grid'), charPickerElement);
|
||||
var buttonElement = goog.dom.getElementsByClass(
|
||||
goog.ui.FlatButtonRenderer.CSS_CLASS, gridElement)[0];
|
||||
buttonElement.setAttribute('char', character);
|
||||
|
||||
// Trigger a focus event on the button element.
|
||||
goog.testing.events.fireBrowserEvent(new goog.events.Event(
|
||||
goog.events.EventType.FOCUS, buttonElement));
|
||||
|
||||
mockControl.$verifyAll();
|
||||
|
||||
var ariaLabel = goog.a11y.aria.getState(
|
||||
buttonElement, goog.a11y.aria.State.LABEL);
|
||||
assertEquals('The aria label should be updated when the button' +
|
||||
'gains focus.', characterName, ariaLabel);
|
||||
}
|
||||
Reference in New Issue
Block a user