mirror of
https://github.com/google/blockly.git
synced 2026-01-09 10:00:09 +01:00
@@ -62,8 +62,7 @@ suite('Cursor', function() {
|
||||
"helpUrl": ""
|
||||
}
|
||||
]);
|
||||
this.workspace = new Blockly.Workspace();
|
||||
this.workspace.setCursor(new Blockly.Cursor());
|
||||
this.workspace = Blockly.inject('blocklyDiv', {});
|
||||
this.cursor = this.workspace.getCursor();
|
||||
var blockA = this.workspace.newBlock('input_statement');
|
||||
var blockB = this.workspace.newBlock('input_statement');
|
||||
@@ -74,7 +73,7 @@ suite('Cursor', function() {
|
||||
blockA.nextConnection.connect(blockB.previousConnection);
|
||||
blockA.inputList[0].connection.connect(blockE.outputConnection);
|
||||
blockB.inputList[1].connection.connect(blockC.previousConnection);
|
||||
|
||||
this.cursor.drawer_ = null;
|
||||
this.blocks = {
|
||||
A: blockA,
|
||||
B: blockB,
|
||||
|
||||
@@ -54,7 +54,7 @@ suite('Insert/Modify', function() {
|
||||
// TODO: Marked connection or cursor connection is already connected.
|
||||
suite('Marker on next', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createConnectionNode(
|
||||
this.stack_block_1.nextConnection));
|
||||
});
|
||||
@@ -98,7 +98,7 @@ suite('Insert/Modify', function() {
|
||||
|
||||
suite('Marker on previous', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createConnectionNode(
|
||||
this.stack_block_1.previousConnection));
|
||||
});
|
||||
@@ -141,7 +141,7 @@ suite('Insert/Modify', function() {
|
||||
|
||||
suite('Marker on value input', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createConnectionNode(
|
||||
this.row_block_1.inputList[0].connection));
|
||||
});
|
||||
@@ -182,7 +182,7 @@ suite('Insert/Modify', function() {
|
||||
this.statement_block_1.inputList[0].connection.connect(
|
||||
this.stack_block_1.previousConnection);
|
||||
this.stack_block_1.nextConnection.connect(this.stack_block_2.previousConnection);
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createInputNode(
|
||||
this.statement_block_1.inputList[0]));
|
||||
});
|
||||
@@ -213,7 +213,7 @@ suite('Insert/Modify', function() {
|
||||
|
||||
suite('Marker on output', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createConnectionNode(
|
||||
this.row_block_1.outputConnection));
|
||||
});
|
||||
@@ -249,7 +249,8 @@ suite('Insert/Modify', function() {
|
||||
|
||||
suite('Marked Workspace', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).drawer_ = null;
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createWorkspaceNode(
|
||||
this.workspace, new Blockly.utils.Coordinate(100, 200)));
|
||||
});
|
||||
@@ -344,7 +345,7 @@ suite('Insert/Modify', function() {
|
||||
// These tests are using a stack block, but do not depend on the type of
|
||||
// the block.
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createBlockNode(
|
||||
this.stack_block_1));
|
||||
});
|
||||
@@ -358,7 +359,7 @@ suite('Insert/Modify', function() {
|
||||
});
|
||||
suite('Marked stack block', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createBlockNode(
|
||||
this.stack_block_1));
|
||||
});
|
||||
@@ -389,7 +390,7 @@ suite('Insert/Modify', function() {
|
||||
});
|
||||
suite('Marked row block', function() {
|
||||
setup(function() {
|
||||
this.workspace.getMarker().setCurNode(
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(
|
||||
Blockly.ASTNode.createBlockNode(
|
||||
this.row_block_1));
|
||||
});
|
||||
|
||||
@@ -166,6 +166,7 @@ suite('Navigation', function() {
|
||||
]
|
||||
}]);
|
||||
this.workspace = createNavigationWorkspace(true);
|
||||
Blockly.mainWorkspace = this.workspace;
|
||||
Blockly.navigation.focusToolbox_();
|
||||
Blockly.navigation.focusFlyout_();
|
||||
this.mockEvent = {
|
||||
@@ -329,7 +330,7 @@ suite('Navigation', function() {
|
||||
Blockly.ASTNode.createConnectionNode(this.basicBlock.previousConnection));
|
||||
this.mockEvent.keyCode = Blockly.utils.KeyCodes.ENTER;
|
||||
chai.assert.isTrue(Blockly.navigation.onKeyPress(this.mockEvent));
|
||||
var markedNode = this.workspace.getMarker().getCurNode();
|
||||
var markedNode = this.workspace.getMarker(Blockly.navigation.MARKER_NAME).getCurNode();
|
||||
chai.assert.equal(markedNode.getLocation(), this.basicBlock.previousConnection);
|
||||
chai.assert.equal(Blockly.navigation.currentState_,
|
||||
Blockly.navigation.STATE_WS);
|
||||
@@ -346,7 +347,26 @@ suite('Navigation', function() {
|
||||
|
||||
suite('Test key press', function() {
|
||||
setup(function() {
|
||||
this.workspace = new Blockly.Workspace({readOnly: false});
|
||||
Blockly.defineBlocksWithJsonArray([{
|
||||
"type": "basic_block",
|
||||
"message0": "%1",
|
||||
"args0": [
|
||||
{
|
||||
"type": "field_dropdown",
|
||||
"name": "OP",
|
||||
"options": [
|
||||
["%{BKY_MATH_ADDITION_SYMBOL}", "ADD"],
|
||||
["%{BKY_MATH_SUBTRACTION_SYMBOL}", "MINUS"],
|
||||
["%{BKY_MATH_MULTIPLICATION_SYMBOL}", "MULTIPLY"],
|
||||
["%{BKY_MATH_DIVISION_SYMBOL}", "DIVIDE"],
|
||||
["%{BKY_MATH_POWER_SYMBOL}", "POWER"]
|
||||
]
|
||||
}
|
||||
]
|
||||
}]);
|
||||
this.workspace = createNavigationWorkspace(true);
|
||||
this.workspace.getCursor().drawer_ = null;
|
||||
this.basicBlock = this.workspace.newBlock('basic_block');
|
||||
Blockly.user.keyMap.setKeyMap(Blockly.user.keyMap.createDefaultKeyMap());
|
||||
Blockly.mainWorkspace = this.workspace;
|
||||
Blockly.getMainWorkspace().keyboardAccessibilityMode = true;
|
||||
@@ -359,12 +379,10 @@ suite('Navigation', function() {
|
||||
};
|
||||
});
|
||||
test('Action does not exist', function() {
|
||||
var block = new Blockly.Block(this.workspace);
|
||||
var field = new Blockly.FieldDropdown([['a','b'], ['c','d']]);
|
||||
field.setSourceBlock(block);
|
||||
var block = this.workspace.getTopBlocks()[0];
|
||||
var field = block.inputList[0].fieldRow[0];
|
||||
sinon.spy(field, 'onBlocklyAction');
|
||||
this.workspace.getCursor().setCurNode(Blockly.ASTNode.createFieldNode(field));
|
||||
|
||||
this.mockEvent.keyCode = Blockly.utils.KeyCodes.N;
|
||||
var isHandled = Blockly.navigation.onKeyPress(this.mockEvent);
|
||||
chai.assert.isFalse(isHandled);
|
||||
@@ -374,9 +392,9 @@ suite('Navigation', function() {
|
||||
});
|
||||
|
||||
test('Action exists - field handles action', function() {
|
||||
var block = new Blockly.Block(this.workspace);
|
||||
var field = new Blockly.FieldDropdown([['a','b'], ['c','d']]);
|
||||
field.setSourceBlock(block);
|
||||
var block = this.workspace.getTopBlocks()[0];
|
||||
var field = block.inputList[0].fieldRow[0];
|
||||
|
||||
sinon.stub(field, 'onBlocklyAction').callsFake(function(){
|
||||
return true;
|
||||
});
|
||||
@@ -390,9 +408,8 @@ suite('Navigation', function() {
|
||||
});
|
||||
|
||||
test('Action exists - field does not handle action', function() {
|
||||
var block = new Blockly.Block(this.workspace);
|
||||
var field = new Blockly.FieldDropdown([['a','b'], ['c','d']]);
|
||||
field.setSourceBlock(block);
|
||||
var block = this.workspace.getTopBlocks()[0];
|
||||
var field = block.inputList[0].fieldRow[0];
|
||||
sinon.spy(field, 'onBlocklyAction');
|
||||
this.workspace.getCursor().setCurNode(Blockly.ASTNode.createFieldNode(field));
|
||||
|
||||
@@ -456,9 +473,10 @@ suite('Navigation', function() {
|
||||
"tooltip": "",
|
||||
"helpUrl": ""
|
||||
}]);
|
||||
this.workspace = new Blockly.Workspace({readOnly: true});
|
||||
this.workspace.setCursor(new Blockly.Cursor());
|
||||
this.workspace = Blockly.inject('blocklyDiv', {readOnly: true});
|
||||
|
||||
Blockly.mainWorkspace = this.workspace;
|
||||
this.workspace.getCursor().drawer_ = null;
|
||||
Blockly.getMainWorkspace().keyboardAccessibilityMode = true;
|
||||
Blockly.navigation.currentState_ = Blockly.navigation.STATE_WS;
|
||||
|
||||
@@ -525,7 +543,7 @@ suite('Navigation', function() {
|
||||
test('Insert from flyout with a valid connection marked', function() {
|
||||
var previousConnection = this.basicBlock.previousConnection;
|
||||
var prevNode = Blockly.ASTNode.createConnectionNode(previousConnection);
|
||||
this.workspace.getMarker().setCurNode(prevNode);
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(prevNode);
|
||||
|
||||
Blockly.navigation.focusToolbox_();
|
||||
Blockly.navigation.focusFlyout_();
|
||||
@@ -557,7 +575,7 @@ suite('Navigation', function() {
|
||||
|
||||
test('Connect two blocks that are on the workspace', function() {
|
||||
var targetNode = Blockly.ASTNode.createConnectionNode(this.basicBlock.previousConnection);
|
||||
this.workspace.getMarker().setCurNode(targetNode);
|
||||
this.workspace.getMarker(Blockly.navigation.MARKER_NAME).setCurNode(targetNode);
|
||||
|
||||
var sourceNode = Blockly.ASTNode.createConnectionNode(this.basicBlock2.nextConnection);
|
||||
this.workspace.getCursor().setCurNode(sourceNode);
|
||||
|
||||
Reference in New Issue
Block a user