@@ -4,19 +4,20 @@ import (
44 "fmt"
55 "testing"
66
7+ "github.com/arduino/go-paths-helper"
78 "github.com/stretchr/testify/require"
89)
910
1011func TestCreateSourceMaps (t * testing.T ) {
1112 input := `#include <Arduino.h>
12- #line 1 "sketch_july2a.ino"
13- #line 1 "sketch_july2a.ino"
13+ #line 1 "/home/megabug/Workspace/arduino-language-server/handler/sourcemapper/ sketch_july2a.ino"
14+ #line 1 "/home/megabug/Workspace/arduino-language-server/handler/sourcemapper/ sketch_july2a.ino"
1415
15- #line 2 "sketch_july2a.ino"
16+ #line 2 "/home/megabug/Workspace/arduino-language-server/handler/sourcemapper/ sketch_july2a.ino"
1617void setup();
17- #line 7 "sketch_july2a.ino"
18+ #line 7 "/home/megabug/Workspace/arduino-language-server/handler/sourcemapper/ sketch_july2a.ino"
1819void loop();
19- #line 2 "sketch_july2a.ino"
20+ #line 2 "/home/megabug/Workspace/arduino-language-server/handler/sourcemapper/ sketch_july2a.ino"
2021void setup() {
2122 // put your setup code here, to run once:
2223
@@ -28,43 +29,44 @@ void loop() {
2829}
2930`
3031 sourceMap := CreateInoMapper ([]byte (input ))
32+ sketchJuly2a := paths .New ("/home/megabug/Workspace/arduino-language-server/handler/sourcemapper/sketch_july2a.ino" ).Canonical ().String ()
3133 require .EqualValues (t , map [InoLine ]int {
32- {"sketch_july2a.ino" , 0 }: 3 ,
33- {"sketch_july2a.ino" , 1 }: 9 ,
34- {"sketch_july2a.ino" , 2 }: 10 ,
35- {"sketch_july2a.ino" , 3 }: 11 ,
36- {"sketch_july2a.ino" , 4 }: 12 ,
37- {"sketch_july2a.ino" , 5 }: 13 ,
38- {"sketch_july2a.ino" , 6 }: 14 ,
39- {"sketch_july2a.ino" , 7 }: 15 ,
40- {"sketch_july2a.ino" , 8 }: 16 ,
41- {"sketch_july2a.ino" , 9 }: 17 ,
42- {"sketch_july2a.ino" , 10 }: 18 ,
34+ {sketchJuly2a , 0 }: 3 ,
35+ {sketchJuly2a , 1 }: 9 ,
36+ {sketchJuly2a , 2 }: 10 ,
37+ {sketchJuly2a , 3 }: 11 ,
38+ {sketchJuly2a , 4 }: 12 ,
39+ {sketchJuly2a , 5 }: 13 ,
40+ {sketchJuly2a , 6 }: 14 ,
41+ {sketchJuly2a , 7 }: 15 ,
42+ {sketchJuly2a , 8 }: 16 ,
43+ {sketchJuly2a , 9 }: 17 ,
44+ {sketchJuly2a , 10 }: 18 ,
4345 }, sourceMap .toCpp )
4446 require .EqualValues (t , map [int ]InoLine {
4547 0 : NotIno ,
4648 1 : NotIno ,
4749 2 : NotIno ,
48- 3 : {"sketch_july2a.ino" , 0 },
50+ 3 : {sketchJuly2a , 0 },
4951 4 : NotIno ,
50- 5 : {"sketch_july2a.ino" , 1 }, // setup
52+ 5 : {sketchJuly2a , 1 }, // setup
5153 6 : NotIno ,
52- 7 : {"sketch_july2a.ino" , 6 }, // loop
54+ 7 : {sketchJuly2a , 6 }, // loop
5355 8 : NotIno ,
54- 9 : {"sketch_july2a.ino" , 1 },
55- 10 : {"sketch_july2a.ino" , 2 },
56- 11 : {"sketch_july2a.ino" , 3 },
57- 12 : {"sketch_july2a.ino" , 4 },
58- 13 : {"sketch_july2a.ino" , 5 },
59- 14 : {"sketch_july2a.ino" , 6 },
60- 15 : {"sketch_july2a.ino" , 7 },
61- 16 : {"sketch_july2a.ino" , 8 },
62- 17 : {"sketch_july2a.ino" , 9 },
63- 18 : {"sketch_july2a.ino" , 10 },
56+ 9 : {sketchJuly2a , 1 },
57+ 10 : {sketchJuly2a , 2 },
58+ 11 : {sketchJuly2a , 3 },
59+ 12 : {sketchJuly2a , 4 },
60+ 13 : {sketchJuly2a , 5 },
61+ 14 : {sketchJuly2a , 6 },
62+ 15 : {sketchJuly2a , 7 },
63+ 16 : {sketchJuly2a , 8 },
64+ 17 : {sketchJuly2a , 9 },
65+ 18 : {sketchJuly2a , 10 },
6466 }, sourceMap .toIno )
6567 require .EqualValues (t , map [int ]InoLine {
66- 5 : {"sketch_july2a.ino" , 1 }, // setup
67- 7 : {"sketch_july2a.ino" , 6 }, // loop
68+ 5 : {sketchJuly2a , 1 }, // setup
69+ 7 : {sketchJuly2a , 6 }, // loop
6870 }, sourceMap .cppPreprocessed )
6971
7072 dumpCppToInoMap (sourceMap .toIno )
@@ -122,88 +124,90 @@ void vino() {
122124void secondFunction() {
123125
124126}`
127+ ProvaSpazio := paths .New ("/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" ).Canonical ().String ()
128+ SecondTab := paths .New ("/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/SecondTab.ino" ).Canonical ().String ()
125129 sourceMap := CreateInoMapper ([]byte (input ))
126130 require .EqualValues (t , sourceMap .toCpp , map [InoLine ]int {
127- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 0 }: 2 ,
128- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 1 }: 3 ,
129- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 2 }: 4 ,
130- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 3 }: 14 ,
131- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 4 }: 15 ,
132- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 5 }: 16 ,
133- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 6 }: 17 ,
134- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 7 }: 18 ,
135- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 8 }: 19 ,
136- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 9 }: 20 ,
137- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 10 }: 21 ,
138- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 11 }: 22 ,
139- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 12 }: 23 ,
140- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 13 }: 24 ,
141- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 14 }: 25 ,
142- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 15 }: 26 ,
143- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 16 }: 27 ,
144- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 17 }: 28 ,
145- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 18 }: 29 ,
146- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 19 }: 30 ,
147- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 20 }: 31 ,
148- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 21 }: 32 ,
149- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 22 }: 33 ,
150- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 23 }: 34 ,
151- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 24 }: 35 ,
152- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 0 }: 37 ,
153- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 1 }: 38 ,
154- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 2 }: 39 ,
155- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 3 }: 40 ,
156- {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 4 }: 41 ,
131+ {ProvaSpazio , 0 }: 2 ,
132+ {ProvaSpazio , 1 }: 3 ,
133+ {ProvaSpazio , 2 }: 4 ,
134+ {ProvaSpazio , 3 }: 14 ,
135+ {ProvaSpazio , 4 }: 15 ,
136+ {ProvaSpazio , 5 }: 16 ,
137+ {ProvaSpazio , 6 }: 17 ,
138+ {ProvaSpazio , 7 }: 18 ,
139+ {ProvaSpazio , 8 }: 19 ,
140+ {ProvaSpazio , 9 }: 20 ,
141+ {ProvaSpazio , 10 }: 21 ,
142+ {ProvaSpazio , 11 }: 22 ,
143+ {ProvaSpazio , 12 }: 23 ,
144+ {ProvaSpazio , 13 }: 24 ,
145+ {ProvaSpazio , 14 }: 25 ,
146+ {ProvaSpazio , 15 }: 26 ,
147+ {ProvaSpazio , 16 }: 27 ,
148+ {ProvaSpazio , 17 }: 28 ,
149+ {ProvaSpazio , 18 }: 29 ,
150+ {ProvaSpazio , 19 }: 30 ,
151+ {ProvaSpazio , 20 }: 31 ,
152+ {ProvaSpazio , 21 }: 32 ,
153+ {ProvaSpazio , 22 }: 33 ,
154+ {ProvaSpazio , 23 }: 34 ,
155+ {ProvaSpazio , 24 }: 35 ,
156+ {SecondTab , 0 }: 37 ,
157+ {SecondTab , 1 }: 38 ,
158+ {SecondTab , 2 }: 39 ,
159+ {SecondTab , 3 }: 40 ,
160+ {SecondTab , 4 }: 41 ,
157161 })
158162 require .EqualValues (t , sourceMap .toIno , map [int ]InoLine {
159163 0 : NotIno ,
160164 1 : NotIno ,
161- 2 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 0 },
162- 3 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 1 },
163- 4 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 2 },
165+ 2 : {ProvaSpazio , 0 },
166+ 3 : {ProvaSpazio , 1 },
167+ 4 : {ProvaSpazio , 2 },
164168 5 : NotIno ,
165- 6 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 3 }, // setup
169+ 6 : {ProvaSpazio , 3 }, // setup
166170 7 : NotIno ,
167- 8 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 8 }, // loop
171+ 8 : {ProvaSpazio , 8 }, // loop
168172 9 : NotIno ,
169- 10 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 22 }, // vino
173+ 10 : {ProvaSpazio , 22 }, // vino
170174 11 : NotIno ,
171- 12 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 1 }, // secondFunction
175+ 12 : {SecondTab , 1 }, // secondFunction
172176 13 : NotIno ,
173- 14 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 3 },
174- 15 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 4 },
175- 16 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 5 },
176- 17 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 6 },
177- 18 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 7 },
178- 19 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 8 },
179- 20 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 9 },
180- 21 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 10 },
181- 22 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 11 },
182- 23 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 12 },
183- 24 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 13 },
184- 25 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 14 },
185- 26 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 15 },
186- 27 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 16 },
187- 28 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 17 },
188- 29 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 18 },
189- 30 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 19 },
190- 31 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 20 },
191- 32 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 21 },
192- 33 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 22 },
193- 34 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 23 },
194- 35 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 24 },
195- 36 : {"not-ino" , 0 },
196- 37 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 0 },
197- 38 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 1 },
198- 39 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 2 },
199- 40 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 3 },
200- 41 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 4 },
177+ 14 : {ProvaSpazio , 3 },
178+ 15 : {ProvaSpazio , 4 },
179+ 16 : {ProvaSpazio , 5 },
180+ 17 : {ProvaSpazio , 6 },
181+ 18 : {ProvaSpazio , 7 },
182+ 19 : {ProvaSpazio , 8 },
183+ 20 : {ProvaSpazio , 9 },
184+ 21 : {ProvaSpazio , 10 },
185+ 22 : {ProvaSpazio , 11 },
186+ 23 : {ProvaSpazio , 12 },
187+ 24 : {ProvaSpazio , 13 },
188+ 25 : {ProvaSpazio , 14 },
189+ 26 : {ProvaSpazio , 15 },
190+ 27 : {ProvaSpazio , 16 },
191+ 28 : {ProvaSpazio , 17 },
192+ 29 : {ProvaSpazio , 18 },
193+ 30 : {ProvaSpazio , 19 },
194+ 31 : {ProvaSpazio , 20 },
195+ 32 : {ProvaSpazio , 21 },
196+ 33 : {ProvaSpazio , 22 },
197+ 34 : {ProvaSpazio , 23 },
198+ 35 : {ProvaSpazio , 24 },
199+ 36 : {"/ not-ino" , 0 },
200+ 37 : {SecondTab , 0 },
201+ 38 : {SecondTab , 1 },
202+ 39 : {SecondTab , 2 },
203+ 40 : {SecondTab , 3 },
204+ 41 : {SecondTab , 4 },
201205 })
202206 require .EqualValues (t , map [int ]InoLine {
203- 6 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 3 }, // setup
204- 8 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 8 }, // loop
205- 10 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/Prova_Spazio.ino" , 22 }, // vino
206- 12 : {"/home/megabug/Workspace/sketchbook-cores-beta/Prova_Spazio/ SecondTab.ino" , 1 }, // secondFunction
207+ 6 : {ProvaSpazio , 3 }, // setup
208+ 8 : {ProvaSpazio , 8 }, // loop
209+ 10 : {ProvaSpazio , 22 }, // vino
210+ 12 : {SecondTab , 1 }, // secondFunction
207211 }, sourceMap .cppPreprocessed )
208212 dumpCppToInoMap (sourceMap .toIno )
209213 dumpInoToCppMap (sourceMap .toCpp )
0 commit comments