@@ -30,10 +30,6 @@ var l5 = &libraries.Library{Name: "Yet Another Calculus Lib Improved", Location:
3030var  l6  =  & libraries.Library {Name : "Calculus Unified Lib" , Location : libraries .User }
3131var  l7  =  & libraries.Library {Name : "AnotherLib" , Location : libraries .User }
3232var  bundleServo  =  & libraries.Library {Name : "Servo" , Location : libraries .IDEBuiltIn , Architectures : []string {"avr" , "sam" , "samd" }}
33- var  userServo  =  & libraries.Library {Name : "Servo" , Location : libraries .User , Architectures : []string {"avr" , "sam" , "samd" }}
34- var  userServoAllArch  =  & libraries.Library {Name : "Servo" , Location : libraries .User , Architectures : []string {"*" }}
35- var  userServoNonavr  =  & libraries.Library {Name : "Servo" , Location : libraries .User , Architectures : []string {"sam" , "samd" }}
36- var  userAnotherServo  =  & libraries.Library {Name : "AnotherServo" , Location : libraries .User , Architectures : []string {"avr" , "sam" , "samd" , "esp32" }}
3733
3834func  runResolver (include  string , arch  string , libs  ... * libraries.Library ) * libraries.Library  {
3935	libraryList  :=  libraries.List {}
@@ -44,6 +40,23 @@ func runResolver(include string, arch string, libs ...*libraries.Library) *libra
4440}
4541
4642func  TestArchitecturePriority (t  * testing.T ) {
43+ 	userServo  :=  & libraries.Library {
44+ 		Name :          "Servo" ,
45+ 		Location :      libraries .User ,
46+ 		Architectures : []string {"avr" , "sam" , "samd" }}
47+ 	userServoAllArch  :=  & libraries.Library {
48+ 		Name :          "Servo" ,
49+ 		Location :      libraries .User ,
50+ 		Architectures : []string {"*" }}
51+ 	userServoNonavr  :=  & libraries.Library {
52+ 		Name :          "Servo" ,
53+ 		Location :      libraries .User ,
54+ 		Architectures : []string {"sam" , "samd" }}
55+ 	userAnotherServo  :=  & libraries.Library {
56+ 		Name :          "AnotherServo" ,
57+ 		Location :      libraries .User ,
58+ 		Architectures : []string {"avr" , "sam" , "samd" , "esp32" }}
59+ 
4760	res  :=  runResolver ("Servo.h" , "avr" , bundleServo , userServo )
4861	require .NotNil (t , res )
4962	require .Equal (t , userServo , res , "selected library" )
@@ -63,6 +76,17 @@ func TestArchitecturePriority(t *testing.T) {
6376	res  =  runResolver ("Servo.h" , "esp32" , userServoAllArch , userAnotherServo )
6477	require .NotNil (t , res )
6578	require .Equal (t , userServoAllArch , res , "selected library" )
79+ 
80+ 	userSDAllArch  :=  & libraries.Library {
81+ 		Name :          "SD" ,
82+ 		Location :      libraries .User ,
83+ 		Architectures : []string {"*" }}
84+ 	builtinSDesp  :=  & libraries.Library {
85+ 		Name :          "SD" ,
86+ 		Location :      libraries .PlatformBuiltIn ,
87+ 		Architectures : []string {"esp8266" }}
88+ 	res  =  runResolver ("SD.h" , "esp8266" , userSDAllArch , builtinSDesp )
89+ 	require .Equal (t , builtinSDesp , res , "selected library" )
6690}
6791
6892func  TestClosestMatchWithTotallyDifferentNames (t  * testing.T ) {
0 commit comments