forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			127 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
|  * 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) {
 | |
| 
 | |
| // <INJECTED SOURCE:START>
 | |
| 
 | |
| // 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,<p id='gcli-input'>gcli-testTooltip.js</p>";
 | |
| 
 | |
| 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);
 | |
| }
 | |
| 
 | |
| // <INJECTED SOURCE:END>
 | |
| 
 | |
| 
 | |
| // 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);
 | |
| };
 | |
| 
 | |
| 
 | |
| // });
 | 
