diff options
author | Juergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2017-03-27 13:30:51 +0200 |
---|---|---|
committer | Juergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2017-03-27 13:30:51 +0200 |
commit | ed21dc746ab255e0764d9b39e09daf3bbf0022e0 (patch) | |
tree | 16f512514a6a79522707ceebf3b9292695d6fad1 | |
parent | 21c6b85cac73391b9027a8aef7ca08310fc65075 (diff) | |
download | qtivi-qface-ed21dc746ab255e0764d9b39e09daf3bbf0022e0.tar.gz |
Tags which have no value are treated as flags now. So you can detect them with if test in templates
-rw-r--r-- | qface/idl/listener.py | 3 | ||||
-rw-r--r-- | tests/in/com.pelagicore.ivi.tuner.qface | 1 | ||||
-rw-r--r-- | tests/test_tags.py | 8 |
3 files changed, 11 insertions, 1 deletions
diff --git a/qface/idl/listener.py b/qface/idl/listener.py index 2969baa..61c668e 100644 --- a/qface/idl/listener.py +++ b/qface/idl/listener.py @@ -73,7 +73,8 @@ class DomainListener(TListener): attrs = tag.tagAttributeSymbol() for attr in attrs: attr_name = attr.name.text - attr_value = attr.value.text + # if no value, handle name as a flag + attr_value = attr.value.text if attr.value else True symbol.add_attribute(tag_name, attr_name, attr_value) def enterEveryRule(self, ctx): diff --git a/tests/in/com.pelagicore.ivi.tuner.qface b/tests/in/com.pelagicore.ivi.tuner.qface index 765e9f5..0e6a20d 100644 --- a/tests/in/com.pelagicore.ivi.tuner.qface +++ b/tests/in/com.pelagicore.ivi.tuner.qface @@ -3,6 +3,7 @@ module com.pelagicore.ivi.tuner 1.0; /** Service Tuner */ @service() @interface() +@config(private) interface Tuner { /** property currentStation */ readonly Station currentStation; diff --git a/tests/test_tags.py b/tests/test_tags.py index 527b623..d22d46a 100644 --- a/tests/test_tags.py +++ b/tests/test_tags.py @@ -44,3 +44,11 @@ def test_meta_tags(): interface = system.lookup('com.pelagicore.ivi.tuner.Tuner') assert interface assert 'port' in interface.tags + + +def test_flag(): + system = loadTuner() + interface = system.lookup('com.pelagicore.ivi.tuner.Tuner') + assert interface + assert interface.attribute('config', 'private') is True + |