5
5
* Use of this source code is governed by an MIT-style license that can be
6
6
* found in the LICENSE file at https://angular.io/license
7
7
*/
8
- import { compareSegments , offsetSegment , segmentDiff } from '../../src/sourcemaps/segment_marker' ;
8
+ import { compareSegments , offsetSegment } from '../../src/sourcemaps/segment_marker' ;
9
9
import { computeStartOfLinePositions } from '../../src/sourcemaps/source_file' ;
10
10
11
11
describe ( 'SegmentMarker utils' , ( ) => {
12
12
describe ( 'compareSegments()' , ( ) => {
13
13
it ( 'should return 0 if the segments are the same' , ( ) => {
14
14
expect ( compareSegments (
15
- { line : 0 , column : 0 , next : undefined } , { line : 0 , column : 0 , next : undefined } ) )
15
+ { line : 0 , column : 0 , position : 0 , next : undefined } ,
16
+ { line : 0 , column : 0 , position : 0 , next : undefined } ) )
16
17
. toEqual ( 0 ) ;
17
18
expect ( compareSegments (
18
- { line : 123 , column : 0 , next : undefined } , { line : 123 , column : 0 , next : undefined } ) )
19
+ { line : 123 , column : 0 , position : 200 , next : undefined } ,
20
+ { line : 123 , column : 0 , position : 200 , next : undefined } ) )
19
21
. toEqual ( 0 ) ;
20
22
expect ( compareSegments (
21
- { line : 0 , column : 45 , next : undefined } , { line : 0 , column : 45 , next : undefined } ) )
23
+ { line : 0 , column : 45 , position : 45 , next : undefined } ,
24
+ { line : 0 , column : 45 , position : 45 , next : undefined } ) )
22
25
. toEqual ( 0 ) ;
23
- expect (
24
- compareSegments (
25
- { line : 123 , column : 45 , next : undefined } , { line : 123 , column : 45 , next : undefined } ) )
26
+ expect ( compareSegments (
27
+ { line : 123 , column : 45 , position : 245 , next : undefined } ,
28
+ { line : 123 , column : 45 , position : 245 , next : undefined } ) )
26
29
. toEqual ( 0 ) ;
27
30
} ) ;
28
31
29
32
it ( 'should return a negative number if the first segment is before the second segment' , ( ) => {
30
33
expect ( compareSegments (
31
- { line : 0 , column : 0 , next : undefined } , { line : 0 , column : 45 , next : undefined } ) )
34
+ { line : 0 , column : 0 , position : 0 , next : undefined } ,
35
+ { line : 0 , column : 45 , position : 45 , next : undefined } ) )
32
36
. toBeLessThan ( 0 ) ;
33
37
expect ( compareSegments (
34
- { line : 123 , column : 0 , next : undefined } , { line : 123 , column : 45 , next : undefined } ) )
38
+ { line : 123 , column : 0 , position : 200 , next : undefined } ,
39
+ { line : 123 , column : 45 , position : 245 , next : undefined } ) )
35
40
. toBeLessThan ( 0 ) ;
36
41
expect ( compareSegments (
37
- { line : 13 , column : 45 , next : undefined } , { line : 123 , column : 45 , next : undefined } ) )
42
+ { line : 13 , column : 45 , position : 75 , next : undefined } ,
43
+ { line : 123 , column : 45 , position : 245 , next : undefined } ) )
38
44
. toBeLessThan ( 0 ) ;
39
45
expect ( compareSegments (
40
- { line : 13 , column : 45 , next : undefined } , { line : 123 , column : 9 , next : undefined } ) )
46
+ { line : 13 , column : 45 , position : 75 , next : undefined } ,
47
+ { line : 123 , column : 9 , position : 209 , next : undefined } ) )
41
48
. toBeLessThan ( 0 ) ;
42
49
} ) ;
43
50
44
51
it ( 'should return a positive number if the first segment is after the second segment' , ( ) => {
45
52
expect ( compareSegments (
46
- { line : 0 , column : 45 , next : undefined } , { line : 0 , column : 0 , next : undefined } ) )
53
+ { line : 0 , column : 45 , position : 45 , next : undefined } ,
54
+ { line : 0 , column : 0 , position : 0 , next : undefined } ) )
47
55
. toBeGreaterThan ( 0 ) ;
48
56
expect ( compareSegments (
49
- { line : 123 , column : 45 , next : undefined } , { line : 123 , column : 0 , next : undefined } ) )
57
+ { line : 123 , column : 45 , position : 245 , next : undefined } ,
58
+ { line : 123 , column : 0 , position : 200 , next : undefined } ) )
50
59
. toBeGreaterThan ( 0 ) ;
51
60
expect ( compareSegments (
52
- { line : 123 , column : 45 , next : undefined } , { line : 13 , column : 45 , next : undefined } ) )
61
+ { line : 123 , column : 45 , position : 245 , next : undefined } ,
62
+ { line : 13 , column : 45 , position : 75 , next : undefined } ) )
53
63
. toBeGreaterThan ( 0 ) ;
54
64
expect ( compareSegments (
55
- { line : 123 , column : 9 , next : undefined } , { line : 13 , column : 45 , next : undefined } ) )
65
+ { line : 123 , column : 9 , position : 209 , next : undefined } ,
66
+ { line : 13 , column : 45 , position : 75 , next : undefined } ) )
56
67
. toBeGreaterThan ( 0 ) ;
57
68
} ) ;
58
69
} ) ;
@@ -61,38 +72,38 @@ describe('SegmentMarker utils', () => {
61
72
it ( 'should return an identical marker if offset is 0' , ( ) => {
62
73
const startOfLinePositions =
63
74
computeStartOfLinePositions ( '012345\n0123456789\r\n012*4567\n0123456' ) ;
64
- const marker = { line : 2 , column : 3 , next : undefined } ;
75
+ const marker = { line : 2 , column : 3 , position : 20 , next : undefined } ;
65
76
expect ( offsetSegment ( startOfLinePositions , marker , 0 ) ) . toBe ( marker ) ;
66
77
} ) ;
67
78
68
79
it ( 'should return a new marker offset by the given chars' , ( ) => {
69
80
const startOfLinePositions =
70
81
computeStartOfLinePositions ( '012345\n0123456789\r\n012*4567\n0123456' ) ;
71
- const marker = { line : 2 , column : 3 , next : undefined } ;
82
+ const marker = { line : 2 , column : 3 , position : 21 , next : undefined } ;
72
83
expect ( offsetSegment ( startOfLinePositions , marker , 1 ) )
73
- . toEqual ( { line : 2 , column : 4 , next : undefined } ) ;
84
+ . toEqual ( { line : 2 , column : 4 , position : 22 , next : undefined } ) ;
74
85
expect ( offsetSegment ( startOfLinePositions , marker , 2 ) )
75
- . toEqual ( { line : 2 , column : 5 , next : undefined } ) ;
86
+ . toEqual ( { line : 2 , column : 5 , position : 23 , next : undefined } ) ;
76
87
expect ( offsetSegment ( startOfLinePositions , marker , 4 ) )
77
- . toEqual ( { line : 2 , column : 7 , next : undefined } ) ;
88
+ . toEqual ( { line : 2 , column : 7 , position : 25 , next : undefined } ) ;
78
89
expect ( offsetSegment ( startOfLinePositions , marker , 6 ) )
79
- . toEqual ( { line : 3 , column : 0 , next : undefined } ) ;
90
+ . toEqual ( { line : 3 , column : 0 , position : 27 , next : undefined } ) ;
80
91
expect ( offsetSegment ( startOfLinePositions , marker , 8 ) )
81
- . toEqual ( { line : 3 , column : 2 , next : undefined } ) ;
92
+ . toEqual ( { line : 3 , column : 2 , position : 29 , next : undefined } ) ;
82
93
expect ( offsetSegment ( startOfLinePositions , marker , 20 ) )
83
- . toEqual ( { line : 3 , column : 14 , next : undefined } ) ;
94
+ . toEqual ( { line : 3 , column : 14 , position : 41 , next : undefined } ) ;
84
95
expect ( offsetSegment ( startOfLinePositions , marker , - 1 ) )
85
- . toEqual ( { line : 2 , column : 2 , next : undefined } ) ;
96
+ . toEqual ( { line : 2 , column : 2 , position : 20 , next : undefined } ) ;
86
97
expect ( offsetSegment ( startOfLinePositions , marker , - 2 ) )
87
- . toEqual ( { line : 2 , column : 1 , next : undefined } ) ;
98
+ . toEqual ( { line : 2 , column : 1 , position : 19 , next : undefined } ) ;
88
99
expect ( offsetSegment ( startOfLinePositions , marker , - 3 ) )
89
- . toEqual ( { line : 2 , column : 0 , next : undefined } ) ;
100
+ . toEqual ( { line : 2 , column : 0 , position : 18 , next : undefined } ) ;
90
101
expect ( offsetSegment ( startOfLinePositions , marker , - 4 ) )
91
- . toEqual ( { line : 1 , column : 10 , next : undefined } ) ;
102
+ . toEqual ( { line : 1 , column : 10 , position : 17 , next : undefined } ) ;
92
103
expect ( offsetSegment ( startOfLinePositions , marker , - 6 ) )
93
- . toEqual ( { line : 1 , column : 8 , next : undefined } ) ;
104
+ . toEqual ( { line : 1 , column : 8 , position : 15 , next : undefined } ) ;
94
105
expect ( offsetSegment ( startOfLinePositions , marker , - 16 ) )
95
- . toEqual ( { line : 0 , column : 5 , next : undefined } ) ;
106
+ . toEqual ( { line : 0 , column : 5 , position : 5 , next : undefined } ) ;
96
107
} ) ;
97
108
} ) ;
98
109
} ) ;
0 commit comments