2828
2929import static org .junit .Assert .assertEquals ;
3030
31+ import org .apache .commons .lang3 .tuple .Pair ;
3132import org .junit .Test ;
3233import org .rascalmpl .vscode .lsp .util .locations .LineColumnOffsetMap ;
3334import org .rascalmpl .vscode .lsp .util .locations .impl .ArrayLineOffsetMap ;
@@ -60,6 +61,8 @@ public void doubleChars() {
6061 public void noUnicodeCharsInverse () {
6162 LineColumnOffsetMap map = ArrayLineOffsetMap .build ("1234\n 1234" );
6263 assertEquals (2 , map .translateInverseColumn (0 , 2 , false ));
64+ assertEquals (Pair .of (0 , 2 ), map .translateInverseOffsetLength (0 , 0 , 0 , 2 , 0 , 2 ));
65+ assertEquals (Pair .of (0 , 8 ), map .translateInverseOffsetLength (0 , 0 , 1 , 4 , 0 , 8 ));
6366 }
6467
6568 @ Test
@@ -68,6 +71,9 @@ public void singleWideCharInverse() {
6871 assertEquals (3 , map .translateInverseColumn (0 , 3 , false ));
6972 assertEquals (3 , map .translateInverseColumn (0 , 4 , false ));
7073 assertEquals (4 , map .translateInverseColumn (0 , 5 , false ));
74+ assertEquals (Pair .of (3 , 1 ), map .translateInverseOffsetLength (0 , 2 , 0 , 4 , 3 , 2 ));
75+ assertEquals (Pair .of (3 , 1 ), map .translateInverseOffsetLength (0 , 4 , 0 , 5 , 4 , 1 ));
76+ assertEquals (Pair .of (0 , 10 ), map .translateInverseOffsetLength (0 , 0 , 1 , 6 , 0 , 12 ));
7177 }
7278
7379
@@ -77,6 +83,8 @@ public void doubleCharsInverse() {
7783 assertEquals (5 , map .translateInverseColumn (0 , 6 , false ));
7884 assertEquals (5 , map .translateInverseColumn (0 , 7 , true ));
7985 assertEquals (6 , map .translateInverseColumn (0 , 8 , false ));
86+ assertEquals (Pair .of (2 , 1 ), map .translateInverseOffsetLength (0 , 2 , 0 , 4 , 2 , 2 ));
87+ assertEquals (Pair .of (2 , 3 ), map .translateInverseOffsetLength (0 , 2 , 0 , 7 , 2 , 5 ));
8088 }
8189
8290}
0 commit comments