Added test cases and modified the test suite in order to make it
data-driven. Each sample file can now declare the number of
expected messages. If there is no declaration, zero is assumed.
Change-Id: Ife3daa10a258f51ea8f896156f6f6af783406b84
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Covers the common case and hopefully avoids the recurring MSVC
problem with initializer lists in this location.
Change-Id: I1b2bbb083f9fc86af3b51b8f52615fb70c832b95
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This splits out the case of static string displays from the
TreeItem base class, making the base more lightweight.
Change-Id: If1f442011ec60094399a41b65d9b5015f432f82e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This test is covering the standard issues we had with the
code model regarding QtQuick Controls (2).
We check if ApplicationWindow is derived from QtQuick.Window
and if Button is derived from QtQuick.Item.
Change-Id: I1a2ed894daeb06743fb950bf629a8dcf2b9a78e6
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
105 passing, 1 failing, one test seems flaky
I skip many nodeinstance/puppet related tests,
because the tests/test framework cannot deal with the qml2puppet/emulation
layer being out of process.
Change-Id: I5b254c7e6e944b8fbd8ba490c1e8bb43d0eb38c3
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on
QString is feasible again. Take this as opportunity to move
debugger encoding handling closer to a 'conversion on input and
output if needed, storage in QString only' scheme.
Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").
Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This adds a templated layer on top of TreeModel that can specify
item types for the top three layers in the model, relieving user
code from some of the previously necessary type casting.
Two common setups get an extra layer with convenience functions
on top: TwoLevelTreeModel for two-level model with a first level
of static headers and a uniform second level, and UniformTreeModel
where all non-root nodes are the same.
"Untyped" plain TreeModels are still possible.
The walkTree() feature and untyped iteration in the base
TreeItem and TreeModel is retained for now to ease transition
in downstream modules, but is planned to be removed soon.
Change-Id: I67d75a1a4e18e8f254dbfb458db03510d8990d8b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Use function objects to apply directly during a depth-first
walk of the tree instead of faking a flat container of tree
nodes. Less code, and allows even some non-const operations.
Change-Id: I804ab11df358fe937b40809cbcb772e6f3ff8dc5
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Symbol::_fileId can be null if the Symbol was created with a null
translation unit. That is the case for temporary symbols created for
lookup purposes (CreateBindings has a _control with no translation unit
and thus creates symbols with no fileId).
Task-number: QTCREATORBUG-15967
Change-Id: Iee518b39ba3b636fe1658e74179db3aad054d6f2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Let's not reformat readonly qualifiers away. They are likely there for a
reason.
Task-number: QTCREATORBUG-15745
Change-Id: Iaab7a8edb47fccd0cf36759750500a93be45bbc2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
- simpler mapReduce
- blocking mappedReduced
- map with iterators
- blocking mapped
The special QtConcurrent::map for modifying the container is not needed
(it simply is Utils::map with a map function that takes a reference to a
value, and either non-const iterators or a std::ref container).
The special (blocking)filter((ed)Reduced) is simply done with the
Utils::map(ped)/map(ped)Reduce(d) functions with a map function that
takes a QFutureInterface and only reports values if the value should not
be filtered out. That way it can also be used as a
"filteredMappedReduced".
Change-Id: Id8dcbb7277be4d0e27b9e1691df35535dd481924
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Remove unneeded STRINGIFY macro
* Add :: between class and member in test names
* Remove extra comma
Change-Id: I5a5e9d318133934885c0bdf6aefc1fd3abc2acb0
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Backends only have to specify whether an object members are sortable
in principle (e.g. all structs), and some numeric 'sortgroup' value
for member items (higher values are always sorted on top).
Change-Id: I10ce94580374fed48a35f058a575a1408d6801af
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The test accesses indirectly the static instance of the
QmlJS::ModelManagerInterface which is not instantiated at all and
leads to a crash of the test.
Change-Id: I2b047e1ee8d679dd3764ca5c36709b599161a60c
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>