@@ -109,7 +109,7 @@ Rectangle {
109109 id: sessionChildrenControl
110110 anchors { left: parent.left; right: parent.right; }
111111
112− session: sessionContainerLoader.item.session
112+ session: sessionContainerLoader.item ? sessionContainerLoader.item.session : null
113113 }
114114 }
115115 }
@@ -150,8 +150,8 @@ Rectangle {
150150 var i;
151151 var sessions = [];
152152 for (i = 0; i < data.count; i++) {
153− var session = SessionManager.createSession(sessionContainer.session.name + "-Child" + i,
154− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
153+ var session = ApplicationTest.addChildSession(sessionContainer.session,
154+ "gallery");
155155 session.createSurface();
156156 sessionContainer.session.addChildSession(session);
157157 compare(sessionContainer.childSessions.count(), i+1);
@@ -160,7 +160,7 @@ Rectangle {
160160 }
161161
162162 for (i = data.count-1; i >= 0; i--) {
163− sessions[i].release();
163+ ApplicationTest.removeSession(sessions[i]);
164164 tryCompareFunction(function() { return sessionContainer.childSessions.count(); }, i);
165165 }
166166 tryCompare(sessionSpy, "count", data.count);
@@ -183,8 +183,8 @@ Rectangle {
183183 var delegate;
184184 var container = sessionContainer;
185185 for (i = 0; i < data.depth; i++) {
186− var session = SessionManager.createSession(lastSession.name + "-Child" + i,
187− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
186+ var session = ApplicationTest.addChildSession(lastSession,
187+ "gallery");
188188 session.createSurface();
189189 lastSession.addChildSession(session);
190190 compare(container.childSessions.count(), 1);
@@ -196,7 +196,7 @@ Rectangle {
196196 }
197197
198198 for (i = data.depth-1; i >= 0; i--) {
199− sessions[i].release();
199+ ApplicationTest.removeSession(sessions[i]);
200200 }
201201
202202 tryCompareFunction(function() { return sessionContainer.childSessions.count(); }, 0);
@@ -207,10 +207,8 @@ Rectangle {
207207 sessionCheckbox.checked = true;
208208 var sessionContainer = sessionContainerLoader.item;
209209
210− wait(2000);
211−
212− var session = SessionManager.createSession(sessionContainer.session.name + "-Child0",
213− Qt.resolvedUrl("../Dash/artwork/music-player-design.png"));
210+ var session = ApplicationTest.addChildSession(sessionContainer.session,
211+ "gallery");
214212 session.createSurface();
215213 sessionContainer.session.addChildSession(session);
216214
@@ -229,5 +227,42 @@ Rectangle {
229227 tryCompareFunction(function() { return childContainer.x === 0; }, true);
230228 tryCompareFunction(function() { return childContainer.y === 0; }, true);
231229 }
230+
231+ function isContainerAnimating(container) {
232+ var animation = findInvisibleChild(container, "sessionAnimation");
233+ if (!animation) return false;
234+
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) {
239+ return true;
240+ }
241+ }
242+ return false;
243+ }
244+
245+ function test_childrenAnimate() {
246+ sessionCheckbox.checked = true;
247+ var sessionContainer = sessionContainerLoader.item;
248+
249+ var session = ApplicationTest.addChildSession(sessionContainer.session,
250+ "gallery");
251+
252+ var delegate = findChild(sessionContainer, "childDelegate0");
253+ var childContainer = findChild(delegate, "sessionContainer");
254+
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);
259+
260+ ApplicationTest.removeSession(session);
261+
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);
266+ }
232267 }
233268}