diff options
author | Gabriel de Dietrich <gabriel.dedietrich@digia.com> | 2013-03-20 15:22:08 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-20 17:16:42 +0100 |
commit | bdc872955933aaf93cdd434cc17cc29630600b88 (patch) | |
tree | a5c40c6bb82a30f7e1c31dde8ce3ec33ac61ee1a /tests/auto/controls/data/tst_menu.qml | |
parent | 8d5e9969b54f80e646cc2b9fcc92e1f36da6d128 (diff) | |
download | qtquickcontrols-bdc872955933aaf93cdd434cc17cc29630600b88.tar.gz |
Menu: Update API, auto-tests
Add 'type' property to QtMenuBase (not exposed to QML explicitly,
but is the base class for all things menu). Useful to inspect menu items
after creation, for instance. Also, Menu gets addSeparator() and
addMenu() functions.
Since the Iterator type has been merged to QML, tst_menu now uses it.
Change-Id: I4a2f43ecce6671885e523d720e4e1315eca8616e
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'tests/auto/controls/data/tst_menu.qml')
-rw-r--r-- | tests/auto/controls/data/tst_menu.qml | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/tests/auto/controls/data/tst_menu.qml b/tests/auto/controls/data/tst_menu.qml index 7d621912..3c109347 100644 --- a/tests/auto/controls/data/tst_menu.qml +++ b/tests/auto/controls/data/tst_menu.qml @@ -93,13 +93,20 @@ TestCase { Component { id: modelCreationComponent - // TODO Update when model patch is in - // Menu { MenuItemRepeater { model: testcase.itemsText MenuItem { text: modelData } } - Menu {} + Menu { + id: modelMenu + Instantiator { + model: itemsText + MenuItem { + text: modelData + } + onObjectAdded: modelMenu.insertItem(index, object) + } + + } } function test_modelCreation() { - testcase.skip("No support for model in Menu. It'll come back") var menu = modelCreationComponent.createObject(testcase) compare(menu.items.length, testcase.itemsText.length) for (var i = 0; i < menu.items.length; i++) @@ -182,4 +189,32 @@ TestCase { compare(menu.__selectedIndex, 2) verify(menu.items[menu.__selectedIndex].checked) } + + function test_dynamicItems() { + menu.clear() + compare(menu.items.length, 0) + var n = 6 + var separatorIdx = 4 + var submenuIdx = 5 + for (var i = 0; i < n; ++i) { + if (i === separatorIdx) + var item = menu.addSeparator() + else if (i === submenuIdx) + item = menu.addMenu("Submenu") + else + item = menu.addItem("Item " + i) + } + compare(menu.items.length, n) + + for (i = 0; i < n; ++i) { + item = menu.items[i] + compare(item.type, i === submenuIdx ? MenuItemType.Menu : + i === separatorIdx ? MenuItemType.Separator : + MenuItemType.Item) + if (i === submenuIdx) + compare(item.title, "Submenu") + else if (i !== separatorIdx) + compare(item.text, "Item " + i) + } + } } |