diff options
author | Juergen Bocklage-Ryannel <jbocklage-ryannel@luxoft.com> | 2017-07-19 12:23:48 +0200 |
---|---|---|
committer | Juergen Bocklage-Ryannel <jbocklage-ryannel@luxoft.com> | 2017-07-19 12:23:48 +0200 |
commit | 216ac7c45fca000cc45ca1a20efffb2617d820d3 (patch) | |
tree | b17c33cec9ab2bde71f5fb079c56ee71abde7960 /tests | |
parent | e4863ef97947b0355c6d3dc5b24f6c3bd0303a79 (diff) | |
download | qtivi-qface-216ac7c45fca000cc45ca1a20efffb2617d820d3.tar.gz |
Added is_enumeration to TypeSymbol which is true for enums and flags.
is_enum is now only true for enums and is_flags for flags.
You need to update your templates to cover these cases!
Diffstat (limited to 'tests')
-rw-r--r-- | tests/in/com.pelagicore.ivi.tuner.qface | 4 | ||||
-rw-r--r-- | tests/test_parser.py | 17 |
2 files changed, 19 insertions, 2 deletions
diff --git a/tests/in/com.pelagicore.ivi.tuner.qface b/tests/in/com.pelagicore.ivi.tuner.qface index aae8e0c..e8f53ae 100644 --- a/tests/in/com.pelagicore.ivi.tuner.qface +++ b/tests/in/com.pelagicore.ivi.tuner.qface @@ -34,6 +34,8 @@ interface Tuner extends BaseTuner { signal broadcastMessage(string message); TunerExtension extension; + + Feature feature; } interface TunerExtension { @@ -60,7 +62,7 @@ enum Waveband { AM=1 } -flag Features { +flag Feature { Mono = 0x1, Stereo = 0x2, } diff --git a/tests/test_parser.py b/tests/test_parser.py index 764a7b9..b2844fc 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -3,6 +3,7 @@ import logging.config from path import Path from qface.generator import FileSystem +import qface.idl.domain as domain # logging.config.fileConfig('logging.ini') logging.basicConfig() @@ -107,6 +108,7 @@ def test_enum(): def test_enum_counter(): system = load_test() enum = system.lookup('com.pelagicore.test.State') + assert type(enum) is domain.Enum assert enum assert enum._memberMap['Null'].value is 0 assert enum._memberMap['Failure'].value is 3 @@ -115,6 +117,7 @@ def test_enum_counter(): def test_flag_counter(): system = load_test() flag = system.lookup('com.pelagicore.test.Phase') + assert type(flag) is domain.Enum assert flag assert flag._memberMap['PhaseOne'].value is 1 assert flag._memberMap['PhaseTwo'].value is 2 @@ -123,20 +126,30 @@ def test_flag_counter(): def test_flag(): system = load_tuner() - symbol = system.lookup('com.pelagicore.ivi.tuner.Features') + symbol = system.lookup('com.pelagicore.ivi.tuner.Feature') + assert type(symbol) is domain.Enum assert symbol.is_flag + assert not symbol.is_enum + symbol = system.lookup('com.pelagicore.ivi.tuner.Tuner#feature') + assert type(symbol) is domain.Property + assert type(symbol.type.reference) is domain.Enum + + assert symbol.type.is_flag + assert symbol.type.is_enumeration def test_list(): system = load_tuner() interface = system.lookup('com.pelagicore.ivi.tuner.Tuner') property = interface._propertyMap['primitiveList'] + assert type(property) is domain.Property assert property.type.name == 'list' assert property.type.is_list is True assert property.type.nested.is_primitive assert property.type.nested.name == 'int' property = interface._propertyMap['complexList'] + assert type(property) is domain.Property assert property.type.name == 'list' assert property.type.is_list is True assert property.type.nested.is_complex @@ -147,12 +160,14 @@ def test_model(): system = load_tuner() interface = system.lookup('com.pelagicore.ivi.tuner.Tuner') property = interface._propertyMap['primitiveModel'] + assert type(property) is domain.Property assert property.type.name == 'model' assert property.type.is_model is True assert property.type.nested.is_primitive assert property.type.nested.name == 'int' property = interface._propertyMap['complexModel'] + assert type(property) is domain.Property assert property.type.name == 'model' assert property.type.is_model is True assert property.type.nested.is_complex |