102
102
103
103
source_bitmap = '''<?xml version="1.0"?>
104
104
<configurator>
105
+ <bitmap name="TestGlobalBitmap" type="bitmap8">
106
+ <field name="a" mask="0x1"/>
107
+ </bitmap>
108
+
105
109
<bitmap name="TestBitmap" type="bitmap8">
106
110
<cluster code="0x1234"/>
107
111
<field name="a" mask="0x1"/>
126
130
127
131
source_enum = '''<?xml version="1.0"?>
128
132
<configurator>
133
+ <enum name="TestGlobalEnum" type="enum8">
134
+ <item name="a" value="0x00"/>
135
+ </enum>
136
+
129
137
<enum name="TestEnum" type="enum8">
130
138
<cluster code="0x1234"/>
131
139
<item name="a" value="0x00"/>
150
158
151
159
source_struct = '''<?xml version="1.0"?>
152
160
<configurator>
161
+ <struct name="TestGlobalStruct">
162
+ <item name="a" type="boolean"/>
163
+ </struct>
164
+
153
165
<struct name="TestStruct">
154
166
<cluster code="0x1234"/>
155
167
<item name="a" type="boolean"/>
@@ -310,10 +322,16 @@ def test_get_bitmap_by_name(self):
310
322
[ParseSource (source = io .StringIO (source_bitmap ), name = 'source_bitmap' )])
311
323
self .assertIsNone (definitions .get_bitmap_by_name (
312
324
'WrongName' , 'TestBitmap' ))
325
+ self .assertIsNone (definitions .get_bitmap_by_name (
326
+ 'TestWrong' , 'TestBitmap' ))
313
327
self .assertIsNone (definitions .get_bitmap_by_name (
314
328
'Test' , 'TestWrongBitmap' ))
315
329
self .assertIsInstance (definitions .get_bitmap_by_name (
316
330
'Test' , 'TestBitmap' ), Bitmap )
331
+ self .assertIsInstance (definitions .get_bitmap_by_name (
332
+ 'Test' , 'TestGlobalBitmap' ), Bitmap )
333
+ self .assertIsInstance (definitions .get_bitmap_by_name (
334
+ 'TestWrong' , 'TestGlobalBitmap' ), Bitmap )
317
335
self .assertIsNone (definitions .get_bitmap_by_name ('test' , 'TestBitmap' ))
318
336
self .assertIsNone (definitions .get_bitmap_by_name ('Test' , 'testbitmap' ))
319
337
@@ -322,10 +340,16 @@ def test_get_enum_by_name(self):
322
340
[ParseSource (source = io .StringIO (source_enum ), name = 'source_enum' )])
323
341
self .assertIsNone (definitions .get_enum_by_name (
324
342
'WrongName' , 'TestEnum' ))
343
+ self .assertIsNone (definitions .get_enum_by_name (
344
+ 'TestWrong' , 'TestEnum' ))
325
345
self .assertIsNone (definitions .get_enum_by_name (
326
346
'Test' , 'TestWrongEnum' ))
327
347
self .assertIsInstance (
328
348
definitions .get_enum_by_name ('Test' , 'TestEnum' ), Enum )
349
+ self .assertIsInstance (
350
+ definitions .get_enum_by_name ('Test' , 'TestGlobalEnum' ), Enum )
351
+ self .assertIsInstance (
352
+ definitions .get_enum_by_name ('TestWrong' , 'TestGlobalEnum' ), Enum )
329
353
self .assertIsNone (definitions .get_enum_by_name ('test' , 'TestEnum' ))
330
354
self .assertIsNone (definitions .get_enum_by_name ('Test' , 'testenum' ))
331
355
@@ -334,10 +358,16 @@ def test_get_struct_by_name(self):
334
358
[ParseSource (source = io .StringIO (source_struct ), name = 'source_struct' )])
335
359
self .assertIsNone (definitions .get_struct_by_name (
336
360
'WrongName' , 'TestStruct' ))
361
+ self .assertIsNone (definitions .get_struct_by_name (
362
+ 'TestWrong' , 'TestStruct' ))
337
363
self .assertIsNone (definitions .get_struct_by_name (
338
364
'Test' , 'TestWrongStruct' ))
339
365
self .assertIsInstance (definitions .get_struct_by_name (
340
366
'Test' , 'TestStruct' ), Struct )
367
+ self .assertIsInstance (definitions .get_struct_by_name (
368
+ 'Test' , 'TestGlobalStruct' ), Struct )
369
+ self .assertIsInstance (definitions .get_struct_by_name (
370
+ 'TestWrong' , 'TestGlobalStruct' ), Struct )
341
371
self .assertIsNone (definitions .get_struct_by_name ('test' , 'TestStruct' ))
342
372
self .assertIsNone (definitions .get_struct_by_name ('Test' , 'teststruct' ))
343
373
@@ -365,16 +395,22 @@ def test_get_type_by_name(self):
365
395
[ParseSource (source = io .StringIO (source_bitmap ), name = 'source_bitmap' )])
366
396
self .assertIsInstance (definitions .get_type_by_name (
367
397
'Test' , 'TestBitmap' ), Bitmap )
398
+ self .assertIsInstance (definitions .get_type_by_name (
399
+ 'Test' , 'TestGlobalBitmap' ), Bitmap )
368
400
369
401
definitions = SpecDefinitions (
370
402
[ParseSource (source = io .StringIO (source_enum ), name = 'source_enum' )])
371
403
self .assertIsInstance (
372
404
definitions .get_type_by_name ('Test' , 'TestEnum' ), Enum )
405
+ self .assertIsInstance (
406
+ definitions .get_type_by_name ('Test' , 'TestGlobalEnum' ), Enum )
373
407
374
408
definitions = SpecDefinitions (
375
409
[ParseSource (source = io .StringIO (source_struct ), name = 'source_struct' )])
376
410
self .assertIsInstance (definitions .get_type_by_name (
377
411
'Test' , 'TestStruct' ), Struct )
412
+ self .assertIsInstance (definitions .get_type_by_name (
413
+ 'Test' , 'TestGlobalStruct' ), Struct )
378
414
379
415
def test_struct_is_fabric_scoped (self ):
380
416
definitions = SpecDefinitions (
0 commit comments