tst_joinrole.qml
1 import QtQuick 2.0 2 import QtQml 2.2 3 import QtTest 1.1 4 import SortFilterProxyModel 0.2 5 import QtQml 2.2 6 7 Item { 8 ListModel { 9 id: listModel 10 ListElement { firstName: "Justin"; lastName: "Timberlake" } 11 } 12 13 SortFilterProxyModel { 14 id: testModel 15 sourceModel: listModel 16 17 proxyRoles: JoinRole { 18 id: joinRole 19 name: "fullName" 20 roleNames: ["firstName", "lastName"] 21 } 22 } 23 24 Instantiator { 25 id: instantiator 26 model: testModel 27 QtObject { 28 property string fullName: model.fullName 29 } 30 } 31 32 TestCase { 33 name: "JoinRole" 34 35 function test_joinRole() { 36 compare(instantiator.object.fullName, "Justin Timberlake"); 37 listModel.setProperty(0, "lastName", "Bieber"); 38 compare(instantiator.object.fullName, "Justin Bieber"); 39 joinRole.roleNames = ["lastName", "firstName"]; 40 compare(instantiator.object.fullName, "Bieber Justin"); 41 joinRole.separator = " - "; 42 compare(instantiator.object.fullName, "Bieber - Justin"); 43 } 44 } 45 }