123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- /**
- * @license
- * Visual Blocks Language
- *
- * Copyright 2012 Google Inc.
- * https://developers.google.com/blockly/
- *
- * 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 Unit test blocks for Blockly.
- * @author fraser@google.com (Neil Fraser)
- */
- 'use strict';
- Blockly.Blocks['unittest_main'] = {
- // Container for unit tests.
- init: function() {
- this.setColour(65);
- this.appendDummyInput()
- .appendField('run tests');
- this.appendStatementInput('DO');
- this.setTooltip('Executes the enclosed unit tests,\n' +
- 'then prints a summary.');
- },
- getVars: function() {
- return ['unittestResults'];
- }
- };
- Blockly.Blocks['unittest_assertequals'] = {
- // Asserts that a value equals another value.
- init: function() {
- this.setColour(65);
- this.setPreviousStatement(true);
- this.setNextStatement(true);
- this.appendValueInput('MESSAGE')
- .appendField('name')
- .setCheck('String');
- this.appendValueInput('ACTUAL')
- .appendField('actual');
- this.appendValueInput('EXPECTED')
- .appendField('expected');
- this.setTooltip('Tests that "actual == expected".');
- },
- getVars: function() {
- return ['unittestResults'];
- }
- };
- Blockly.Blocks['unittest_assertvalue'] = {
- // Asserts that a value is true, false, or null.
- init: function() {
- this.setColour(65);
- this.setPreviousStatement(true);
- this.setNextStatement(true);
- this.appendValueInput('MESSAGE', 'test name')
- .appendField('name')
- .setCheck('String');
- this.appendValueInput('ACTUAL')
- .appendField('assert')
- .appendField(new Blockly.FieldDropdown(
- [['true', 'TRUE'], ['false', 'FALSE'], ['null', 'NULL']]), 'EXPECTED');
- this.setTooltip('Tests that the value is true, false, or null.');
- },
- getVars: function() {
- return ['unittestResults'];
- }
- };
- Blockly.Blocks['unittest_fail'] = {
- // Always assert an error.
- init: function() {
- this.setColour(65);
- this.setPreviousStatement(true);
- this.setNextStatement(true);
- this.appendDummyInput()
- .appendField(new Blockly.FieldTextInput('test name'), 'MESSAGE')
- .appendField('fail');
- this.setTooltip('Records an error.');
- },
- getVars: function() {
- return ['unittestResults'];
- }
- };
- Blockly.Blocks['unittest_adjustindex'] = {
- // Adjusts the indexing based on current setting.
- init: function() {
- this.jsonInit({
- "message0": "adjusted %1",
- "args0": [
- {
- "type": "input_value",
- "name": "INDEX",
- "check": "Number"
- }
- ],
- "inputsInline": true,
- "output": "Number",
- "colour": 65,
- "tooltip": "Adjusts the value based on whether generated code is using " +
- "zero or one based indexing."
- });
- }
- };
|