/* * Copyright 2012, Mozilla Foundation and contributors * * 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. */ // define(function(require, exports, module) { // // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT // DO NOT EDIT IT DIRECTLY var exports = {}; const TEST_URI = "data:text/html;charset=utf-8,

gcli-testTooltip.js

"; function test() { var tests = Object.keys(exports); // Push setup to the top and shutdown to the bottom tests.sort(function(t1, t2) { if (t1 == "setup" || t2 == "shutdown") return -1; if (t2 == "setup" || t1 == "shutdown") return 1; return 0; }); info("Running tests: " + tests.join(", ")) tests = tests.map(function(test) { return exports[test]; }); DeveloperToolbarTest.test(TEST_URI, tests, true); } // // var assert = require('test/assert'); // var mockCommands = require('gclitest/mockCommands'); exports.setup = function() { mockCommands.setup(); }; exports.shutdown = function() { mockCommands.shutdown(); }; function type(typed, tests, options) { var inputter = options.display.inputter; var tooltip = options.display.tooltip; inputter.setInput(typed); if (tests.cursor) { inputter.setCursor({ start: tests.cursor, end: tests.cursor }); } if (!options.isJsdom) { if (tests.important) { assert.ok(tooltip.field.isImportant, 'Important for ' + typed); } else { assert.ok(!tooltip.field.isImportant, 'Not important for ' + typed); } if (tests.options) { var names = tooltip.field.menu.items.map(function(item) { return item.name.textContent ? item.name.textContent : item.name; }); assert.is(tests.options.join('|'), names.join('|'), 'Options for ' + typed); } if (tests.error) { assert.is(tests.error, tooltip.errorEle.textContent, 'Error for ' + typed); } else { assert.is('', tooltip.errorEle.textContent, 'No error for ' + typed); } } } exports.testActivate = function(options) { if (!options.display) { assert.log('No display. Skipping activate tests'); return; } if (options.isJsdom) { assert.log('Reduced checks due to JSDom.textContent'); } type(' ', { }, options); type('tsb ', { important: true, options: [ 'false', 'true' ] }, options); type('tsb t', { important: true, options: [ 'true' ] }, options); type('tsb tt', { important: true, options: [ 'true' ] }, options); type('asdf', { important: false, options: [ ], error: 'Can\'t use \'asdf\'.' }, options); type('', { }, options); }; // });