/ tests / tst_joinrole.qml
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  }