summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJuergen Bocklage-Ryannel <jbocklage-ryannel@luxoft.com>2017-07-19 12:23:48 +0200
committerJuergen Bocklage-Ryannel <jbocklage-ryannel@luxoft.com>2017-07-19 12:23:48 +0200
commit216ac7c45fca000cc45ca1a20efffb2617d820d3 (patch)
treeb17c33cec9ab2bde71f5fb079c56ee71abde7960 /tests
parente4863ef97947b0355c6d3dc5b24f6c3bd0303a79 (diff)
downloadqtivi-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.qface4
-rw-r--r--tests/test_parser.py17
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