aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/tweak/tweakui_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/tweak/tweakui_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/tweak/tweakui_test.html280
1 files changed, 0 insertions, 280 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/tweak/tweakui_test.html b/contexts/data/lib/closure-library/closure/goog/tweak/tweakui_test.html
deleted file mode 100644
index ef14d64..0000000
--- a/contexts/data/lib/closure-library/closure/goog/tweak/tweakui_test.html
+++ /dev/null
@@ -1,280 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-Copyright 2010 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: agrieve@google.com (Andrew Grieve)
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Closure Unit Tests - goog.tweak.TweakUi</title>
- <script src="../base.js"></script>
- <script>
- goog.require('goog.dom');
- goog.require('goog.string');
- goog.require('goog.testing.jsunit');
- goog.require('goog.tweak.TweakUi');
- goog.require('goog.tweak.testhelpers');
- </script>
- <link rel="stylesheet" type="text/css" href="../css/common.css">
-</head>
-<body>
- <div id="root"></div>
-<script>
-
-var root = document.getElementById('root');
-var registry;
-var EXPECTED_ENTRIES_COUNT = 14;
-
-function setUp() {
- // Make both test cases use the same entries in order to be able to test that
- // having two UIs on the same page does not cause trouble.
- createRegistryEntries('');
- registry = goog.tweak.getRegistry();
-}
-
-function tearDown() {
- goog.tweak.activeBooleanGroup_ = null;
- // When debugging a single test, don't clear out the DOM.
- if (window.location.search.indexOf('runTests') == -1) {
- root.innerHTML = '';
- }
-}
-
-function tearDownPage() {
- // When debugging a single test, don't clear out the DOM.
- if (window.location.search.indexOf('runTests') != -1) {
- return;
- }
- // Create both registries for interactive testing.
- createRegistryEntries('');
- registry = goog.tweak.getRegistry();
- // Add an extra tweak for testing the creation of tweaks after the UI has
- // already been rendered.
- var entryCounter = 0;
- goog.tweak.registerButton('CreateNewTweak', 'Creates a new tweak. Meant ' +
- 'to simulate a tweak being registered in a lazy-loaded module.',
- function() {
- goog.tweak.registerBoolean('Lazy' + ++entryCounter, 'Lazy-loaded tweak.');
- });
- goog.tweak.registerButton('CreateNewTweakInNamespace1',
- 'Creates a new tweak within a namespace. Meant to simulate a tweak ' +
- 'being registered in a lazy-loaded module.', function() {
- goog.tweak.registerString('foo.bar.Lazy' + ++entryCounter,
- 'Lazy-loaded tweak.');
- });
- goog.tweak.registerButton('CreateNewTweakInNamespace2',
- 'Creates a new tweak within a namespace. Meant to simulate a tweak ' +
- 'being registered in a lazy-loaded module.', function() {
- goog.tweak.registerNumber('foo.bar.baz.Lazy' + ++entryCounter, 'Lazy combo',
- 3, {
- validValues: [1, 2, 3],
- label: 'Lazy!'
- });
- });
-
- var label = document.createElement('h3');
- label.innerHTML = 'TweakUi:';
- root.appendChild(label);
- createUi(false);
-
- label = document.createElement('h3');
- label.innerHTML = 'Collapsible:';
- root.appendChild(label);
- createUi(true);
-}
-
-function createUi(collapsible) {
- var tweakUiElem = collapsible ? goog.tweak.TweakUi.createCollapsible() :
- goog.tweak.TweakUi.create();
- root.appendChild(tweakUiElem);
-}
-
-function getAllEntryDivs() {
- return goog.dom.getElementsByTagNameAndClass('div',
- goog.tweak.TweakUi.ENTRY_CSS_CLASS_);
-}
-
-function getEntryDiv(entry) {
- var label = goog.tweak.TweakUi.getNamespacedLabel_(entry);
- var allDivs = getAllEntryDivs();
- var ret;
- for (var i = 0, div; div = allDivs[i]; i++) {
- var divText = goog.dom.getTextContent(div);
- if (goog.string.startsWith(divText, label) &&
- goog.string.contains(divText, entry.description)) {
- assertFalse('Found multiple divs matching entry ' + entry.getId(), !!ret);
- ret = div;
- }
- }
- assertTrue('getEntryDiv failed for ' + entry.getId(), !!ret);
- return ret;
-}
-
-function getEntryInput(entry) {
- var div = getEntryDiv(entry);
- return div.getElementsByTagName('input')[0] ||
- div.getElementsByTagName('select')[0];
-}
-
-function testCreate() {
- createUi(false);
- assertEquals('Wrong number of entry divs.', EXPECTED_ENTRIES_COUNT,
- getAllEntryDivs().length);
-
- assertFalse('checkbox should not be checked 1',
- getEntryInput(boolEntry).checked);
- assertTrue('checkbox should be checked 2',
- getEntryInput(boolEntry2).checked);
- // Enusre custom labels are being used.
- var html = document.getElementsByTagName('button')[0].innerHTML;
- assertTrue('Button label is wrong', html.indexOf('&lt;btn&gt;') > -1);
- html = getEntryDiv(numEnumEntry).innerHTML;
- assertTrue('Enum2 label is wrong', html.indexOf('second&amp;') > -1);
-}
-
-function testToggleBooleanSetting() {
- boolEntry.setValue(true);
- createUi(false);
-
- assertTrue('checkbox should be checked',
- getEntryInput(boolEntry).checked);
-
- boolEntry.setValue(false);
- assertFalse('checkbox should not be checked 1',
- getEntryInput(boolEntry).checked);
-}
-
-function testToggleStringSetting() {
- strEntry.setValue('val1');
- createUi(false);
-
- assertEquals('Textbox has wrong value 1',
- 'val1', getEntryInput(strEntry).value);
-
- strEntry.setValue('val2');
- assertEquals('Textbox has wrong value 2',
- 'val2', getEntryInput(strEntry).value);
-}
-
-function testToggleStringEnumSetting() {
- strEnumEntry.setValue('B');
- createUi(false);
-
- assertEquals('wrong value 1',
- 'B', getEntryInput(strEnumEntry).value);
-
- strEnumEntry.setValue('C');
- assertEquals('wrong value 2',
- 'C', getEntryInput(strEnumEntry).value);
-}
-
-
-function testToggleNumericSetting() {
- numEntry.setValue(3);
- createUi(false);
-
- assertEquals('wrong value 1',
- '3', getEntryInput(numEntry).value);
-
- numEntry.setValue(4);
- assertEquals('wrong value 2',
- '4', getEntryInput(numEntry).value);
-}
-
-function testToggleNumericEnumSetting() {
- numEnumEntry.setValue(2);
- createUi(false);
-
- assertEquals('wrong value 1',
- '2', getEntryInput(numEnumEntry).value);
-
- numEnumEntry.setValue(3);
- assertEquals('wrong value 2',
- '3', getEntryInput(numEnumEntry).value);
-}
-
-function testClickBooleanSetting() {
- createUi(false);
-
- var input = getEntryInput(boolEntry);
- input.checked = true;
- input.onchange();
- assertTrue('setting should be true', boolEntry.getNewValue());
- input.checked = false;
- input.onchange();
- assertFalse('setting should be false', boolEntry.getNewValue());
-}
-
-function testToggleDescriptions() {
- createUi(false);
- var toggleLink = root.getElementsByTagName('a')[0];
- var heightBefore = root.offsetHeight;
- toggleLink.onclick();
- assertTrue('Expected div height to grow from toggle descriptions.',
- root.offsetHeight > heightBefore);
- toggleLink.onclick();
- assertEquals('Expected div height to revert from toggle descriptions.',
- heightBefore, root.offsetHeight);
-}
-
-function assertEntryOrder(entryId1, entryId2) {
- var entry1 = registry.getEntry(entryId1);
- var entry2 = registry.getEntry(entryId2);
- var div1 = getEntryDiv(entry1);
- var div2 = getEntryDiv(entry2);
- var order = goog.dom.compareNodeOrder(div1, div2);
- assertTrue(entry1.getId() + ' should be before ' + entry2.getId(), order < 0);
-}
-
-function testAddEntry() {
- createUi(false);
- goog.tweak.registerBoolean('Lazy1', 'Lazy-loaded tweak.');
- goog.tweak.registerBoolean('Lazy2', 'Lazy-loaded tweak.',
- /* defaultValue */ false, { restartRequired: false });
- goog.tweak.beginBooleanGroup('LazyGroup', 'Lazy-loaded tweak.');
- goog.tweak.registerBoolean('Lazy3', 'Lazy-loaded tweak.');
- goog.tweak.endBooleanGroup();
-
- assertEquals('Wrong number of entry divs.', EXPECTED_ENTRIES_COUNT + 4,
- getAllEntryDivs().length);
- assertEntryOrder('Enum2', 'Lazy1');
- assertEntryOrder('Lazy1', 'Lazy2');
- assertEntryOrder('Lazy2', 'Num');
- assertEntryOrder('BoolGroup', 'Lazy3');
-}
-
-function testAddNamespacedEntries() {
- createUi(false);
- goog.tweak.beginBooleanGroup('NS.LazyGroup', 'Lazy-loaded tweak.');
- goog.tweak.registerBoolean('NS.InGroup', 'Lazy-loaded tweak.');
- goog.tweak.endBooleanGroup();
- goog.tweak.registerBoolean('NS.Banana', 'Lazy-loaded tweak.');
- goog.tweak.registerBoolean('NS.Apple', 'Lazy-loaded tweak.');
-
- assertEquals('Wrong number of entry divs.', EXPECTED_ENTRIES_COUNT + 5,
- getAllEntryDivs().length);
- assertEntryOrder('Enum2', 'NS.Apple');
- assertEntryOrder('NS.Apple', 'NS.Banana');
- assertEntryOrder('NS.Banana', 'NS.InGroup');
-}
-
-function testCollapsibleIsLazy() {
- if (document.createEvent) {
- createUi(true);
- assertEquals('Expected no entry divs.', 0, getAllEntryDivs().length);
- var showLink = root.getElementsByTagName('a')[0];
- var event = document.createEvent('MouseEvents');
- event.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false,
- false, false, false, 0, null);
- showLink.dispatchEvent(event);
- assertEquals('Wrong number of entry divs.', EXPECTED_ENTRIES_COUNT,
- getAllEntryDivs().length);
- }
-}
-</script>
-</body>
-</html>