* Fix various bugs around keyboard nav
This commit is contained in:
alschmiedt
2019-09-27 14:34:28 -07:00
committed by GitHub
parent edf3d0cfe2
commit 468b673b73
5 changed files with 31 additions and 18 deletions

View File

@@ -73,27 +73,28 @@ suite('Cursor', function() {
this.workspace.dispose();
});
test('Next - From a block skip over next connection', function() {
var blockNode = Blockly.ASTNode.createBlockNode(this.blocks.A);
this.cursor.setCurNode(blockNode);
test('Next - From a Previous skip over next connection and block', function() {
var prevNode = Blockly.ASTNode.createConnectionNode(this.blocks.A.previousConnection);
this.cursor.setCurNode(prevNode);
this.cursor.next();
var curNode = this.cursor.getCurNode();
assertEquals(curNode.getLocation(), this.blocks.B.previousConnection);
});
test('Next - From last block in a stack go to next connection', function() {
var blockNode = Blockly.ASTNode.createBlockNode(this.blocks.B);
this.cursor.setCurNode(blockNode);
var prevNode = Blockly.ASTNode.createConnectionNode(this.blocks.B.previousConnection);
this.cursor.setCurNode(prevNode);
this.cursor.next();
var curNode = this.cursor.getCurNode();
assertEquals(curNode.getLocation(), this.blocks.B.nextConnection);
});
test('In - From input skip over output connection', function() {
var inputNode = Blockly.ASTNode.createInputNode(this.blocks.A.inputList[0]);
this.cursor.setCurNode(inputNode);
test('In - From output connection', function() {
var fieldBlock = this.blocks.E;
var outputNode = Blockly.ASTNode.createConnectionNode(fieldBlock.outputConnection);
this.cursor.setCurNode(outputNode);
this.cursor.in();
var curNode = this.cursor.getCurNode();
assertEquals(curNode.getLocation(), this.blocks.E);
assertEquals(curNode.getLocation(), fieldBlock.inputList[0].fieldRow[0]);
});
test('Prev - From previous connection skip over next connection', function() {
@@ -104,4 +105,13 @@ suite('Cursor', function() {
var curNode = this.cursor.getCurNode();
assertEquals(curNode.getLocation(), this.blocks.A.previousConnection);
});
test('Out - From field skip over block node', function() {
var field = this.blocks.E.inputList[0].fieldRow[0];
var fieldNode = Blockly.ASTNode.createFieldNode(field);
this.cursor.setCurNode(fieldNode);
this.cursor.out();
var curNode = this.cursor.getCurNode();
assertEquals(curNode.getLocation(), this.blocks.E.outputConnection);
});
});