@@ -89,78 +89,6 @@ def test_location_inspect
8989 assert_include loc . inspect , "source=\" class Foo\" "
9090 end
9191
92- def test_sub_buffer_location
93- buffer = buffer ( )
94- # 01
95- # bc
96- buffer = buffer . sub_buffer ( lines : [ 0 ...2 , 5 ...7 ] )
97-
98- loc = Location . new ( buffer , 0 , 5 )
99-
100- # Raw positions
101- assert_equal 0 , loc . _start_pos
102- assert_equal 5 , loc . _end_pos
103-
104- # Absolute positions
105- assert_equal 0 , loc . start_pos
106- assert_equal 7 , loc . end_pos
107- assert_equal [ 1 , 0 ] , loc . start_loc
108- assert_equal [ 2 , 3 ] , loc . end_loc
109-
110- assert_equal "123\n abc" , loc . source
111-
112- loc . add_optional_child ( :opt , 0 ...2 )
113- loc [ :opt ] . tap do |loc |
114- assert_equal 0 , loc . start_pos
115- assert_equal 2 , loc . end_pos
116- assert_equal "12" , loc . source
117- end
118-
119- loc . add_required_child ( :req , 1 ...4 )
120- loc [ :req ] . tap do |loc |
121- assert_equal 1 , loc . start_pos
122- assert_equal 6 , loc . end_pos
123- assert_equal "23\n ab" , loc . source
124- end
125- end
126-
127- def test_sub_buffer_local_location
128- buffer = buffer ( )
129- # 01
130- # bc
131- buffer = buffer . sub_buffer ( lines : [ 0 ...2 , 5 ...7 ] )
132-
133- loc = Location . new ( buffer , 0 , 5 )
134- loc . add_optional_child ( :opt , 0 ...2 )
135- loc . add_required_child ( :req , 1 ...4 )
136-
137- loc = loc . local_location
138-
139- # Raw positions
140- assert_equal 0 , loc . _start_pos
141- assert_equal 5 , loc . _end_pos
142-
143- # Absolute positions in sub buffer
144- assert_equal 0 , loc . start_pos
145- assert_equal 5 , loc . end_pos
146- assert_equal [ 1 , 0 ] , loc . start_loc
147- assert_equal [ 2 , 2 ] , loc . end_loc
148-
149- assert_equal "12\n bc" , loc . source
150-
151- loc [ :opt ] . tap do |loc |
152- assert_equal 0 , loc . start_pos
153- assert_equal 2 , loc . end_pos
154- assert_equal "12" , loc . source
155- end
156-
157- loc [ :req ] . tap do |loc |
158- assert_equal 1 , loc . start_pos
159- assert_equal 4 , loc . end_pos
160- assert_equal "2\n b" , loc . source
161- end
162- end
163-
16492 private
16593
16694 def buffer ( content : nil )
0 commit comments