Allow threaded compilation in an async Loader
[profile/ivi/qtdeclarative.git] / tests / auto / qml / qqmlqt / data / TestComponent.2.qml
1 import QtQuick 2.0
2
3 Item {
4     id: root
5     objectName: "root"
6     property int zero: 0
7
8     Item {
9         id: c1
10         objectName: "c1"
11         property int one: zero + 1
12
13         Item {
14             id: c1c1
15             objectName: "c1c1"
16             property bool two: c2c1c1.two
17         }
18
19         Item {
20             id: c1c2
21             objectName: "c1c2"
22             property string three: "three"
23
24             Rectangle {
25                 id: c1c2c3
26                 objectName: "c1c2c3"
27                 property alias othercolor: c2c1.color
28                 color: if (c2c1.color == Qt.rgba(0,0,1)) Qt.rgba(1,0,0); else Qt.rgba(0,1,0);
29             }
30         }
31     }
32
33     Item {
34         id: c2
35         objectName: "c2"
36         property string two: "two"
37
38         Rectangle {
39             id: c2c1
40             objectName: "c2c1"
41             property string three: "2" + c1c2.three
42             color: "blue"
43
44             MouseArea {
45                 id: c2c1c1
46                 objectName: "c2c1c1"
47                 property bool two: false
48                 onClicked: two = !two
49             }
50
51             Item {
52                 id: c2c1c2
53                 objectName: "c2c1c2"
54                 property string three: "1" + parent.three
55             }
56         }
57     }
58
59     Item {
60         id: c3
61         objectName: "c3"
62         Item {}
63         Item {}
64         Item {}
65         Item {}
66         Item {}
67         Item {}
68         Item {}
69         Item {}
70         Item {}
71         Item {}
72         Item {}
73         Item {}
74         Item {}
75         Item {}
76         Item {}
77         Item {}
78         Item {}
79         Item {}
80         Item {}
81         Item {}
82         Item {}
83         Item {}
84         Item {}
85         Item {}
86         Item {}
87         Item {}
88         Item {}
89         Item {}
90         Item {}
91         Item {}
92         Item {}
93         Item {}
94         Item {}
95         Item {}
96         Item {}
97         Item {}
98         Item {}
99         Item {}
100         Item {}
101         Item {}
102         Item {}
103         Item {}
104         Item {}
105         Item {}
106         Item {}
107         Item {}
108         Item {}
109         Item {}
110         Item {}
111         Item {}
112         Item {}
113         Item {}
114         Item {}
115         Item {}
116         Item {}
117         Item {}
118         Item {}
119         Item {}
120         Item {}
121         Item {}
122         Item {}
123         Item {}
124         Item {}
125         Item {}
126         Item {}
127         Item {}
128         Item {}
129         Item {}
130         Item {}
131         Item {}
132         Item {}
133         Item {}
134         Item {}
135         Item {}
136         Item {}
137         Item {}
138         Item {}
139         Item {}
140         Item {}
141         Item {}
142         Item {}
143         Item {}
144         Item {}
145         Item {}
146         Item {}
147         Item {}
148         Item {}
149         Item {}
150         Item {}
151         Item {}
152         Item {}
153         Item {}
154         Item {}
155         Item {}
156         Item {}
157         Item {}
158         Item {}
159         Item {}
160         Item {}
161         Item {}
162         Item {}
163         Item {}
164         Item {}
165         Item {}
166         Item {}
167         Item {}
168         Item {}
169         Item {}
170         Item {}
171         Item {}
172         Item {}
173         Item {}
174         Item {}
175         Item {}
176         Item {}
177         Item {}
178         Item {}
179         Item {}
180         Item {}
181         Item {}
182         Item {}
183         Item {}
184         Item {}
185         Item {}
186         Item {}
187         Item {}
188         Item {}
189         Item {}
190         Item {}
191         Item {}
192         Item {}
193         Item {}
194         Item {}
195         Item {}
196         Item {}
197         Item {}
198         Item {}
199         Item {}
200         Item {}
201         Item {}
202         Item {}
203         Item {}
204         Item {}
205         Item {}
206         Item {}
207         Item {}
208         Item {}
209         Item {}
210         Item {}
211         Item {}
212         Item {}
213         Item {}
214         Item {}
215         Item {}
216         Item {}
217         Item {}
218         Item {}
219         Item {}
220         Item {}
221         Item {}
222         Item {}
223         Item {}
224         Item {}
225         Item {}
226         Item {}
227         Item {}
228         Item {}
229         Item {}
230         Item {}
231         Item {}
232         Item {}
233         Item {}
234         Item {}
235         Item {}
236         Item {}
237         Item {}
238         Item {}
239         Item {}
240         Item {}
241         Item {}
242         Item {}
243         Item {}
244         Item {}
245         Item {}
246         Item {}
247         Item {}
248         Item {}
249         Item {}
250         Item {}
251         Item {}
252         Item {}
253         Item {}
254         Item {}
255         Item {}
256         Item {}
257         Item {}
258         Item {}
259         Item {}
260         Item {}
261         Item {}
262         Item {}
263         Item {}
264         Item {}
265         Item {}
266         Item {}
267         Item {}
268         Item {}
269         Item {}
270         Item {}
271         Item {}
272         Item {}
273         Item {}
274         Item {}
275         Item {}
276         Item {}
277         Item {}
278         Item {}
279         Item {}
280         Item {}
281         Item {}
282         Item {}
283         Item {}
284         Item {}
285         Item {}
286         Item {}
287         Item {}
288         Item {}
289         Item {}
290         Item {}
291         Item {}
292         Item {}
293         Item {}
294         Item {}
295         Item {}
296         Item {}
297         Item {}
298         Item {}
299         Item {}
300         Item {}
301         Item {}
302         Item {}
303         Item {}
304         Item {}
305         Item {}
306         Item {}
307         Item {}
308         Item {}
309         Item {}
310         Item {}
311         Item {}
312         Item {}
313         Item {}
314         Item {}
315         Item {}
316         Item {}
317         Item {}
318         Item {}
319         Item {}
320         Item {}
321         Item {}
322         Item {}
323         Item {}
324         Item {}
325         Item {}
326         Item {}
327         Item {}
328         Item {}
329         Item {}
330         Item {}
331         Item {}
332         Item {}
333         Item {}
334         Item {}
335         Item {}
336         Item {}
337         Item {}
338         Item {}
339         Item {}
340         Item {}
341         Item {}
342         Item {}
343         Item {}
344         Item {}
345         Item {}
346         Item {}
347         Item {}
348         Item {}
349         Item {}
350         Item {}
351         Item {}
352         Item {}
353         Item {}
354         Item {}
355         Item {}
356         Item {}
357         Item {}
358         Item {}
359         Item {}
360         Item {}
361         Item {}
362         Item {}
363         Item {}
364         Item {}
365         Item {}
366         Item {}
367         Item {}
368         Item {}
369         Item {}
370         Item {}
371         Item {}
372         Item {}
373         Item {}
374         Item {}
375         Item {}
376         Item {}
377         Item {}
378         Item {}
379         Item {}
380         Item {}
381         Item {}
382         Item {}
383         Item {}
384         Item {}
385         Item {}
386         Item {}
387         Item {}
388         Item {}
389         Item {}
390         Item {}
391         Item {}
392         Item {}
393         Item {}
394         Item {}
395         Item {}
396         Item {}
397         Item {}
398         Item {}
399         Item {}
400         Item {}
401         Item {}
402         Item {}
403         Item {}
404         Item {}
405         Item {}
406         Item {}
407         Item {}
408         Item {}
409         Item {}
410         Item {}
411         Item {}
412         Item {}
413         Item {}
414         Item {}
415         Item {}
416         Item {}
417         Item {}
418         Item {}
419         Item {}
420         Item {}
421         Item {}
422         Item {}
423         Item {}
424         Item {}
425         Item {}
426         Item {}
427         Item {}
428         Item {}
429         Item {}
430         Item {}
431         Item {}
432         Item {}
433         Item {}
434         Item {}
435         Item {}
436         Item {}
437         Item {}
438         Item {}
439         Item {}
440         Item {}
441         Item {}
442         Item {}
443         Item {}
444         Item {}
445         Item {}
446         Item {}
447         Item {}
448         Item {}
449         Item {}
450         Item {}
451         Item {}
452         Item {}
453         Item {}
454         Item {}
455         Item {}
456         Item {}
457         Item {}
458         Item {}
459         Item {}
460         Item {}
461         Item {}
462         Item {}
463         Item {}
464         Item {}
465         Item {}
466         Item {}
467         Item {}
468         Item {}
469         Item {}
470         Item {}
471         Item {}
472         Item {}
473         Item {}
474         Item {}
475         Item {}
476         Item {}
477         Item {}
478         Item {}
479         Item {}
480         Item {}
481         Item {}
482         Item {}
483         Item {}
484         Item {}
485         Item {}
486         Item {}
487         Item {}
488         Item {}
489         Item {}
490         Item {}
491         Item {}
492         Item {}
493         Item {}
494         Item {}
495         Item {}
496         Item {}
497         Item {}
498         Item {}
499         Item {}
500         Item {}
501         Item {}
502         Item {}
503         Item {}
504         Item {}
505         Item {}
506         Item {}
507         Item {}
508         Item {}
509         Item {}
510         Item {}
511         Item {}
512         Item {}
513         Item {}
514         Item {}
515         Item {}
516         Item {}
517         Item {}
518         Item {}
519         Item {}
520         Item {}
521         Item {}
522         Item {}
523         Item {}
524         Item {}
525         Item {}
526         Item {}
527         Item {}
528         Item {}
529         Item {}
530         Item {}
531         Item {}
532         Item {}
533         Item {}
534         Item {}
535         Item {}
536         Item {}
537         Item {}
538         Item {}
539         Item {}
540         Item {}
541         Item {}
542         Item {}
543         Item {}
544         Item {}
545         Item {}
546         Item {}
547         Item {}
548         Item {}
549         Item {}
550         Item {}
551         Item {}
552         Item {}
553         Item {}
554         Item {}
555         Item {}
556         Item {}
557         Item {}
558         Item {}
559         Item {}
560         Item {}
561         Item {}
562     }
563
564     property alias c1one: c1.one
565     property bool success: true
566     Component.onCompleted: {
567         // test state after initial bindings evaluation
568         if (zero != 0) success = false;
569         if (c1.one != 1) success = false;
570         if (c1c1.two != false) success = false;
571         if (c1c2.three != "three") success = false;
572         if (c1c2c3.color != Qt.rgba(1,0,0)) success = false;
573         if (c2.two != "two") success = false;
574         if (c2c1.three != "2three") success = false;
575         if (c2c1.color != Qt.rgba(0,0,1)) success = false;
576         if (c2c1c1.two != false) success = false;
577         if (c2c1c2.three != "12three") success = false;
578         if (c3.children.length != 500) success = false;
579
580         // now retrigger bindings evaluation
581         root.zero = 5;
582         if (c1.one != 6) success = false;
583         c2c1c1.two = true;
584         if (c1c1.two != true) success = false;
585         c1c2.three = "3";
586         if (c2c1.three != "23") success = false;
587         if (c2c1c2.three != "123") success = false;
588         c2c1.color = Qt.rgba(1,0,0);
589         if (c1c2c3.color != Qt.rgba(0,1,0)) success = false;
590         if (c1c2c3.othercolor != Qt.rgba(1,0,0)) success = false;
591     }
592 }