aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/ac/ac_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/ac/ac_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/ui/ac/ac_test.html204
1 files changed, 0 insertions, 204 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/ac/ac_test.html b/contexts/data/lib/closure-library/closure/goog/ui/ac/ac_test.html
deleted file mode 100644
index 89a79fb..0000000
--- a/contexts/data/lib/closure-library/closure/goog/ui/ac/ac_test.html
+++ /dev/null
@@ -1,204 +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.
--->
-<!--
-
- Integration tests for the entire autocomplete package.
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.ui.ac.AutoComplete</title>
-<script src="../../base.js"></script>
-<script>
- goog.require('goog.testing.jsunit');
- goog.require('goog.testing.MockClock');
- goog.require('goog.ui.ac');
-</script>
-<script>
-var autocomplete;
-var data = ['ab', 'aab', 'aaab'];
-var input;
-var mockClock;
-
-function setUpPage() {
- goog.ui.ac.createSimpleAutoComplete(data, goog.dom.getElement('user'), true,
- false);
-}
-
-function setUp() {
- mockClock = new goog.testing.MockClock(true);
- input = goog.dom.getElement('input');
- input.value = '';
- autocomplete = goog.ui.ac.createSimpleAutoComplete(data, input, true, false);
-}
-
-function tearDown() {
- autocomplete.dispose();
- mockClock.dispose();
-}
-
-//=========================================================================
-// Utility methods
-
-/**
- * Fire listeners of a given type that are listening to the event's
- * currentTarget.
- *
- * @param {goog.eventsBrowserEvent} event
- */
-function simulateEvent(event) {
- goog.events.fireListeners(
- event.currentTarget, event.type, true, event);
- goog.events.fireListeners(
- event.currentTarget, event.type, false, event);
-}
-
-/**
- * Fire all key event listeners that are listening to the input element.
- *
- * @param {number} keyCode The key code.
- */
-function simulateAllKeyEventsOnInput(keyCode) {
- var eventTypes = [
- goog.events.EventType.KEYDOWN,
- goog.events.EventType.KEYPRESS,
- goog.events.EventType.KEYUP
- ];
-
- goog.array.forEach(eventTypes,
- function(type) {
- var event = new goog.events.Event(type, input);
- event.keyCode = keyCode;
- simulateEvent(new goog.events.BrowserEvent(event, input));
- });
-}
-
-/**
- * @param {string} text
- * @return {Node} Node whose inner text maches the given text.
- */
-function findNodeByInnerText(text) {
- return goog.dom.findNode(document.body,
- function(node) {
- try {
- var display = goog.userAgent.IE ?
- goog.style.getCascadedStyle(node, 'display') :
- goog.style.getComputedStyle(node, 'display');
-
- return goog.dom.getRawTextContent(node) == text &&
- 'none' != display && node.nodeType == goog.dom.NodeType.ELEMENT;
- } catch (e) {
- return false;
- }
- });
-};
-
-//=========================================================================
-// Tests
-
-/**
- * Ensure that the display of the autocompleter works.
- */
-function testBasicDisplay() {
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.DOWN);
-
- input.value = 'a';
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.A);
- mockClock.tick(500);
-
- var nodes = [
- findNodeByInnerText(data[0]),
- findNodeByInnerText(data[1]),
- findNodeByInnerText(data[2])
- ];
- assert(!!nodes[0]);
- assert(!!nodes[1]);
- assert(!!nodes[2]);
- assert(goog.style.isUnselectable(nodes[0]));
- assert(goog.style.isUnselectable(nodes[1]));
- assert(goog.style.isUnselectable(nodes[2]));
-
- input.value = 'aa';
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.A);
- mockClock.tick(500);
-
- assertFalse(!!findNodeByInnerText(data[0]));
- assert(!!findNodeByInnerText(data[1]));
- assert(!!findNodeByInnerText(data[2]));
-}
-
-/**
- * Ensure that key navigation with multiple inputs work
- */
-function testKeyNavigation() {
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.DOWN);
-
- input.value = 'c, a';
- goog.dom.selection.setCursorPosition(input, 'c, a'.length);
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.A);
- mockClock.tick(500);
-
- assert(document.body.innerHTML, !!findNodeByInnerText(data[1]));
- assert(!!findNodeByInnerText(data[2]));
-
- var selected = findNodeByInnerText(data[0]);
- assert(!!selected);
- assertTrue('Should have new standard active class',
- goog.dom.classes.has(selected, 'ac-active'));
- assertTrue('Should have legacy active class',
- goog.dom.classes.has(selected, 'active'));
-
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.DOWN);
- assertFalse(goog.dom.classes.has(
- findNodeByInnerText(data[0]), 'ac-active'));
- assert(goog.dom.classes.has(
- findNodeByInnerText(data[1]), 'ac-active'));
-
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.ENTER);
- assertEquals('c, aab, ', input.value);
-};
-
-/**
- * Ensure that mouse navigation with multiple inputs works.
- */
-function testMouseNavigation() {
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.DOWN);
-
- input.value = 'c, a';
- goog.dom.selection.setCursorPosition(input, 'c, a'.length);
- simulateAllKeyEventsOnInput(goog.events.KeyCodes.A);
- mockClock.tick(500);
-
- var secondOption = findNodeByInnerText(data[1]);
- assert(!!secondOption);
- var parent = secondOption.parentNode;
- assertFalse(goog.dom.classes.has(secondOption, 'ac-active'));
-
- var mouseOver = new goog.events.Event(
- goog.events.EventType.MOUSEOVER, secondOption);
- simulateEvent(new goog.events.BrowserEvent(mouseOver, parent));
- assert(goog.dom.classes.has(secondOption, 'ac-active'));
-
- var mouseDown = new goog.events.Event(
- goog.events.EventType.MOUSEDOWN, secondOption);
- simulateEvent(new goog.events.BrowserEvent(mouseDown, parent));
- var mouseClick = new goog.events.Event(
- goog.events.EventType.CLICK, secondOption);
- simulateEvent(new goog.events.BrowserEvent(mouseClick, parent));
-
- assertEquals('c, aab, ', input.value);
-}
-
-</script>
-</head>
-
-<body id='body'>
- <input type='text' id='input'>
- <input type='text' id='user' value='For manual testing'>
-</body>
-</html>