@@ -109,7 +109,7 @@ Rectangle {
109 id: sessionChildrenControl
109 id: sessionChildrenControl
110 anchors { left: parent.left; right: parent.right; }
110 anchors { left: parent.left; right: parent.right; }
112− session: sessionContainerLoader.item.session
112+ session: sessionContainerLoader.item ? sessionContainerLoader.item.session : null
@@ -150,8 +150,8 @@ Rectangle {
151 var sessions = [];
151 var sessions = [];
152 for (i = 0; i < data.count; i++) {
152 for (i = 0; i < data.count; i++) {
153− var session = SessionManager.createSession(sessionContainer.session.name + "-Child" + i,
153+ var session = ApplicationTest.addChildSession(sessionContainer.session,
154− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
154+ "gallery");
155 session.createSurface();
155 session.createSurface();
156 sessionContainer.session.addChildSession(session);
156 sessionContainer.session.addChildSession(session);
157 compare(sessionContainer.childSessions.count(), i+1);
157 compare(sessionContainer.childSessions.count(), i+1);
@@ -160,7 +160,7 @@ Rectangle {
162 for (i = data.count-1; i >= 0; i--) {
162 for (i = data.count-1; i >= 0; i--) {
163− sessions[i].release();
163+ ApplicationTest.removeSession(sessions[i]);
164 tryCompareFunction(function() { return sessionContainer.childSessions.count(); }, i);
164 tryCompareFunction(function() { return sessionContainer.childSessions.count(); }, i);
166 tryCompare(sessionSpy, "count", data.count);
166 tryCompare(sessionSpy, "count", data.count);
@@ -183,8 +183,8 @@ Rectangle {
183 var delegate;
183 var delegate;
184 var container = sessionContainer;
184 var container = sessionContainer;
185 for (i = 0; i < data.depth; i++) {
185 for (i = 0; i < data.depth; i++) {
186− var session = SessionManager.createSession(lastSession.name + "-Child" + i,
186+ var session = ApplicationTest.addChildSession(lastSession,
187− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
187+ "gallery");
188 session.createSurface();
188 session.createSurface();
189 lastSession.addChildSession(session);
189 lastSession.addChildSession(session);
190 compare(container.childSessions.count(), 1);
190 compare(container.childSessions.count(), 1);
@@ -196,7 +196,7 @@ Rectangle {
198 for (i = data.depth-1; i >= 0; i--) {
198 for (i = data.depth-1; i >= 0; i--) {
199− sessions[i].release();
199+ ApplicationTest.removeSession(sessions[i]);
202 tryCompareFunction(function() { return sessionContainer.childSessions.count(); }, 0);
202 tryCompareFunction(function() { return sessionContainer.childSessions.count(); }, 0);
@@ -207,10 +207,8 @@ Rectangle {
207 sessionCheckbox.checked = true;
207 sessionCheckbox.checked = true;
208 var sessionContainer = sessionContainerLoader.item;
208 var sessionContainer = sessionContainerLoader.item;
212− var session = SessionManager.createSession(sessionContainer.session.name + "-Child0",
210+ var session = ApplicationTest.addChildSession(sessionContainer.session,
213− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
211+ "gallery");
214 session.createSurface();
212 session.createSurface();
215 sessionContainer.session.addChildSession(session);
213 sessionContainer.session.addChildSession(session);
@@ -229,5 +227,42 @@ Rectangle {
229 tryCompareFunction(function() { return childContainer.x === 0; }, true);
227 tryCompareFunction(function() { return childContainer.x === 0; }, true);
230 tryCompareFunction(function() { return childContainer.y === 0; }, true);
228 tryCompareFunction(function() { return childContainer.y === 0; }, true);
231+ function isContainerAnimating(container) {
232+ var animation = findInvisibleChild(container, "sessionAnimation");
233+ if (!animation) return false;
235+ var animating = false;
236+ console.log(animation.state);
237+ for (var i = 0; i < animation.transitions.length; ++i) {
238+ if (animation.transitions[i].running) {
245+ function test_childrenAnimate() {
246+ sessionCheckbox.checked = true;
247+ var sessionContainer = sessionContainerLoader.item;
249+ var session = ApplicationTest.addChildSession(sessionContainer.session,
252+ var delegate = findChild(sessionContainer, "childDelegate0");
253+ var childContainer = findChild(delegate, "sessionContainer");
255+ // wait for animation to begin
256+ tryCompareFunction(function() { return isContainerAnimating(childContainer); }, true);
257+ // wait for animation to end
258+ tryCompareFunction(function() { return isContainerAnimating(childContainer); }, false);
260+ ApplicationTest.removeSession(session);
262+ // wait for animation to begin
263+ tryCompareFunction(function() { return isContainerAnimating(childContainer); }, true);
264+ // wait for animation to end
265+ tryCompareFunction(function() { return isContainerAnimating(childContainer); }, false);