@@ -125,6 +125,15 @@ suite('Cursor', function () {
125125 assert . equal ( curNode . getLocation ( ) , this . blocks . A . nextConnection ) ;
126126 } ) ;
127127
128+ test ( 'Prev - From first connection loop to last next connection' , function ( ) {
129+ const prevConnection = this . blocks . A . previousConnection ;
130+ const prevConnectionNode = ASTNode . createConnectionNode ( prevConnection ) ;
131+ this . cursor . setCurNode ( prevConnectionNode ) ;
132+ this . cursor . prev ( ) ;
133+ const curNode = this . cursor . getCurNode ( ) ;
134+ assert . equal ( curNode . getLocation ( ) , this . blocks . D . nextConnection ) ;
135+ } ) ;
136+
128137 test ( 'Out - From field does not skip over block node' , function ( ) {
129138 const field = this . blocks . E . inputList [ 0 ] . fieldRow [ 0 ] ;
130139 const fieldNode = ASTNode . createFieldNode ( field ) ;
@@ -133,6 +142,15 @@ suite('Cursor', function () {
133142 const curNode = this . cursor . getCurNode ( ) ;
134143 assert . equal ( curNode . getLocation ( ) , this . blocks . E ) ;
135144 } ) ;
145+
146+ test ( 'Out - From first connection loop to last next connection' , function ( ) {
147+ const prevConnection = this . blocks . A . previousConnection ;
148+ const prevConnectionNode = ASTNode . createConnectionNode ( prevConnection ) ;
149+ this . cursor . setCurNode ( prevConnectionNode ) ;
150+ this . cursor . out ( ) ;
151+ const curNode = this . cursor . getCurNode ( ) ;
152+ assert . equal ( curNode . getLocation ( ) , this . blocks . D . nextConnection ) ;
153+ } ) ;
136154 } ) ;
137155 suite ( 'Searching' , function ( ) {
138156 setup ( function ( ) {
0 commit comments