8bbc251c039bbdca757c3b5f8045d0347c9d2839
[platform/core/uifw/dali-adaptor.git] / adaptors / emscripten / wrappers / tests / utilities.js
1 var EPSILON = 0.005;
2
3 function compareArrays(a, b) {
4   "use strict";
5   if (Array.isArray(a) && Array.isArray(b)) {
6     if (a.length === b.length) {
7       for (var i = 0, len = a.length; i < len; i++) {
8         if (Array.isArray(a[i])) {
9           if (Array.isArray(b[i])) {
10             if (!compareArrays(a[i], b[i])) {
11               return false;
12             }
13           } else {
14             return false;
15           }
16         } else {
17           if (typeof (a[i]) === "number") {
18             if (typeof (b[i]) !== "number") {
19               return false;
20             } else {
21               if (Math.abs(a[i]) > Math.abs(b[i]) + EPSILON ||
22                   Math.abs(a[i]) < Math.abs(b[i]) - EPSILON) {
23                 return false;
24               }
25             }
26           } else {
27             if (a[i] !== b[i]) {
28               return false;
29             }
30           }
31         }
32       }
33       return true;
34     }
35   }
36   return false;
37 }
38
39 function collectByName(collection) {
40   var root = dali.stage.getRootLayer();
41   if (collection === undefined) {
42     collection = {};
43   }
44   var op = function(actor) {
45     if (actor.name) {
46       collection[actor.name] = actor;
47     }
48     return true;
49   };
50
51   dali.debug.depthVisit(root, op, true);
52
53   return collection;
54 }
55
56 function square(color, size) {
57   var a = dali.createSolidColorActor(color, 0, [0, 0, 0, 1], 0);
58   a.size = size;
59   return a;
60 }
61
62 function threeSquares() {
63   var root = dali.stage.getRootLayer();
64
65   var a = square([1, 0, 0, 1], [200, 200, 0]);
66   a.name = "red";
67   a.position = [-100, 0, -20];
68   root.add(a);
69   a.delete();
70
71   a = square([0, 1, 0, 1], [200, 200, 0]);
72   a.name = "green";
73   a.position = [0, -100, -10];
74   root.add(a);
75   a.delete();
76
77   a = square([0, 0, 1, 1], [200, 200, 0]);
78   a.name = "blue";
79   a.position = [0, -100, 0];
80   root.add(a);
81   a.delete();
82
83   //  root.delete();
84 }
85
86 function clear() {
87   var root = dali.stage.getRootLayer();
88   var children = root.getChildren();
89
90   for (var i = 0, len = children.length; i < len; i++) {
91     root.remove(children[i]);
92     children[i].delete(); // delete the wrapper
93   }
94   //  root.delete(); // wrapper
95 }
96
97 var loadDocument = function(url, f) {
98     var v = document.getElementById("daliframe");
99     QUnit.ok(v, "Found frame.");
100     v.addEventListener("load", f, true);
101     v.src = url;
102 };