// Copyright 2009 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. /** * @fileoverview Common test functions for tweak unit tests. * * @author agrieve@google.com (Andrew Grieve) * @package */ goog.provide('goog.tweak.testhelpers'); goog.setTestOnly(); goog.require('goog.tweak'); goog.require('goog.tweak.BooleanGroup'); goog.require('goog.tweak.BooleanInGroupSetting'); goog.require('goog.tweak.BooleanSetting'); goog.require('goog.tweak.ButtonAction'); goog.require('goog.tweak.NumericSetting'); goog.require('goog.tweak.Registry'); goog.require('goog.tweak.StringSetting'); var boolEntry; var boolEntry2; var strEntry; var strEntry2; var strEnumEntry; var numEntry; var numEnumEntry; var boolGroup; var boolOneEntry; var boolTwoEntry; var buttonEntry; /** * Creates a registry with some entries in it. * @param {string} queryParams The query parameter string to use for the * registry. * @param {!Object=} opt_compilerOverrides Compiler * overrides. * @suppress {accessControls} Private state is accessed for test purposes. */ function createRegistryEntries(queryParams, opt_compilerOverrides) { // Initialize the registry with the given query string. var registry = new goog.tweak.Registry(queryParams, opt_compilerOverrides || {}); goog.tweak.registry_ = registry; boolEntry = new goog.tweak.BooleanSetting('Bool', 'The bool1'); registry.register(boolEntry); boolEntry2 = new goog.tweak.BooleanSetting('Bool2', 'The bool2'); boolEntry2.setDefaultValue(true); registry.register(boolEntry2); strEntry = new goog.tweak.StringSetting('Str', 'The str1'); strEntry.setParamName('s'); registry.register(strEntry); strEntry2 = new goog.tweak.StringSetting('Str2', 'The str2'); strEntry2.setDefaultValue('foo'); registry.register(strEntry2); strEnumEntry = new goog.tweak.StringSetting('Enum', 'The enum'); strEnumEntry.setValidValues(['A', 'B', 'C']); strEnumEntry.setRestartRequired(false); registry.register(strEnumEntry); numEntry = new goog.tweak.NumericSetting('Num', 'The num'); numEntry.setDefaultValue(99); registry.register(numEntry); numEnumEntry = new goog.tweak.NumericSetting('Enum2', 'The 2nd enum'); numEnumEntry.setValidValues([1, 2, 3]); numEnumEntry.setRestartRequired(false); numEnumEntry.label = 'Enum the second&'; registry.register(numEnumEntry); boolGroup = new goog.tweak.BooleanGroup('BoolGroup', 'The bool group'); registry.register(boolGroup); boolOneEntry = new goog.tweak.BooleanInGroupSetting('BoolOne', 'Desc for 1', boolGroup); boolOneEntry.setToken('B1'); boolOneEntry.setRestartRequired(false); boolGroup.addChild(boolOneEntry); registry.register(boolOneEntry); boolTwoEntry = new goog.tweak.BooleanInGroupSetting('BoolTwo', 'Desc for 2', boolGroup); boolTwoEntry.setDefaultValue(true); boolGroup.addChild(boolTwoEntry); registry.register(boolTwoEntry); buttonEntry = new goog.tweak.ButtonAction('Button', 'The Btn', goog.nullFunction); buttonEntry.label = ''; registry.register(buttonEntry); var nsBoolGroup = new goog.tweak.BooleanGroup('foo.bar.BoolGroup', 'Namespaced Bool Group'); registry.register(nsBoolGroup); var nsBool = new goog.tweak.BooleanInGroupSetting( 'foo.bar.BoolOne', 'Desc for Namespaced 1', nsBoolGroup); nsBoolGroup.addChild(nsBool); registry.register(nsBool); }