@@ -17,25 +17,72 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import QtTest 1.0
18import QtTest 1.0
19import Unity.Test 0.1 as UT
19import Unity.Test 0.1 as UT
20+import Ubuntu.Components 0.1
20import Unity.Application 0.1
21import Unity.Application 0.1
21import "../../../qml/Stages"
22import "../../../qml/Stages"
25− width: units.gu(40)
27+ width: units.gu(70)
26− height: units.gu(80)
28+ height: units.gu(70)
29 property QtObject fakeApplication: null
30 property QtObject fakeApplication: null
34+ id: sessionContainerComponent
43+ id: sessionContainerLoader
46+ bottom: parent.bottom
50+ sourceComponent: sessionContainerComponent
57+ bottom: parent.bottom
58+ left: sessionContainerLoader.right
63+ anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
66+ anchors { left: parent.left; right: parent.right }
71+ if (sessionContainerLoader.status !== Loader.Ready)
35− session: SessionManager.createSession("music-player", Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
75+ var fakeSession = SessionManager.createSession("music-player", Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
37− session.manualSurfaceCreation = true;
76+ fakeSession.manualSurfaceCreation = true;
38− session.createSurface();
77+ fakeSession.createSurface();
78+ sessionContainerLoader.item.session = fakeSession;
80+ sessionContainerLoader.item.session.release();
84+ Label { text: "session" }
@@ -50,6 +97,12 @@ Item {
50 name: "SessionContainer"
97 name: "SessionContainer"
52 function init() {
99 function init() {
100+ // reload our test subject to get it in a fresh state once again
101+ sessionContainerLoader.active = false;
102+ sessionCheckbox.checked = false;
103+ sessionContainerLoader.active = true;
105+ tryCompare(sessionContainerLoader.item, "session", null);
53 sessionSpy.clear();
106 sessionSpy.clear();
@@ -61,13 +114,16 @@ Item {
63 function test_addChildSession(data) {
116 function test_addChildSession(data) {
117+ sessionCheckbox.checked = true;
118+ var sessionContainer = sessionContainerLoader.item;
64 compare(sessionContainer.childSessions.count(), 0);
119 compare(sessionContainer.childSessions.count(), 0);
67 var sessions = [];
122 var sessions = [];
68 for (i = 0; i < data.count; i++) {
123 for (i = 0; i < data.count; i++) {
69 var session = SessionManager.createSession(sessionContainer.session.name + "-Child" + i,
124 var session = SessionManager.createSession(sessionContainer.session.name + "-Child" + i,
70− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"))
125+ Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
126+ session.createSurface();
71 sessionContainer.session.addChildSession(session);
127 sessionContainer.session.addChildSession(session);
72 compare(sessionContainer.childSessions.count(), i+1);
128 compare(sessionContainer.childSessions.count(), i+1);
@@ -88,6 +144,8 @@ Item {
90 function test_nestedChildSessions(data) {
146 function test_nestedChildSessions(data) {
147+ sessionCheckbox.checked = true;
148+ var sessionContainer = sessionContainerLoader.item;
91 compare(sessionContainer.childSessions.count(), 0);
149 compare(sessionContainer.childSessions.count(), 0);
@@ -97,7 +155,8 @@ Item {
97 var container = sessionContainer;
155 var container = sessionContainer;
98 for (i = 0; i < data.depth; i++) {
156 for (i = 0; i < data.depth; i++) {
99 var session = SessionManager.createSession(lastSession.name + "-Child" + i,
157 var session = SessionManager.createSession(lastSession.name + "-Child" + i,
100− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"))
158+ Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
159+ session.createSurface();
101 lastSession.addChildSession(session);
160 lastSession.addChildSession(session);
102 compare(container.childSessions.count(), 1);
161 compare(container.childSessions.count(), 1);
103 sessions.push(session);
162 sessions.push(session);