@@ -136,6 +136,65 @@ func TestPropertiesRedBeearLabBoardsTxt(t *testing.T) {
136136 require .Equal (t , "arduino:arduino" , ethernet .Get ("build.core" ))
137137}
138138
139+ func TestLoadFromBytes (t * testing.T ) {
140+ data := []byte (`
141+ yun.vid.0=0x2341
142+ yun.pid.0=0x0041
143+ yun.vid.1=0x2341
144+ yun.pid.1=0x8041
145+ yun.upload.tool=avrdude
146+ yun.upload.protocol=avr109
147+ yun.upload.maximum_size=28672
148+ yun.upload.maximum_data_size=2560
149+ yun.upload.speed=57600
150+ yun.upload.disable_flushing=true
151+ yun.upload.use_1200bps_touch=true
152+ yun.upload.wait_for_upload_port=true
153+ ` )
154+ m , err := LoadFromBytes (data )
155+ require .NoError (t , err )
156+ require .Equal (t , "57600" , m .Get ("yun.upload.speed" ))
157+
158+ data2 := []byte (`
159+ yun.vid.0=0x2341
160+ yun.pid.1
161+ yun.upload.tool=avrdude
162+ ` )
163+ m2 , err2 := LoadFromBytes (data2 )
164+ fmt .Println (err2 )
165+ require .Error (t , err2 )
166+ require .Nil (t , m2 )
167+ }
168+
169+ func TestLoadFromSlice (t * testing.T ) {
170+ data := []string {"yun.vid.0=0x2341" ,
171+ "yun.pid.0=0x0041" ,
172+ "yun.vid.1=0x2341" ,
173+ "yun.pid.1=0x8041" ,
174+ "yun.upload.tool=avrdude" ,
175+ "yun.upload.protocol=avr109" ,
176+ "yun.upload.maximum_size=28672" ,
177+ "yun.upload.maximum_data_size=2560" ,
178+ "yun.upload.speed=57600" ,
179+ "yun.upload.disable_flushing=true" ,
180+ "yun.upload.use_1200bps_touch=true" ,
181+ "yun.upload.wait_for_upload_port=true" ,
182+ }
183+ m , err := LoadFromSlice (data )
184+ require .NoError (t , err )
185+ require .Equal (t , "57600" , m .Get ("yun.upload.speed" ))
186+
187+ data2 := []string {
188+ "yun.vid.0=0x2341" ,
189+ "yun.pid.1" ,
190+ "yun.upload.tool=avrdude" ,
191+ }
192+
193+ m2 , err2 := LoadFromSlice (data2 )
194+ fmt .Println (err2 )
195+ require .Error (t , err2 )
196+ require .Nil (t , m2 )
197+ }
139198func TestSubTreeForMultipleDots (t * testing.T ) {
140199 p := NewMap ()
141200 p .Set ("root.lev1.prop" , "hi" )
0 commit comments