js/src/jit-test/tests/jaeger/testForOps.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:1314aa270e1e
1 // |jit-test|
2 // vim: set ts=8 sts=4 et sw=4 tw=99:
3
4 function assertObjectsEqual(obj1, obj2) {
5 assertEq(obj1.a, obj2.a);
6 assertEq(obj1.b, obj2.b);
7 assertEq(obj1.c, obj2.c);
8 assertEq(obj1.d, obj2.d);
9 assertEq(obj2.a, 1);
10 assertEq(obj2.b, "bee");
11 assertEq(obj2.c, "crab");
12 assertEq(obj2.d, 12);
13 }
14
15 function forName(obj) {
16 eval('');
17 var r = { };
18 for (x in obj)
19 r[x] = obj[x];
20 return r;
21 }
22
23 function forGlobalName(obj) {
24 var r = { };
25 for (x in obj)
26 r[x] = obj[x];
27 return r;
28 }
29
30 function forProp(obj) {
31 var r = { };
32 var c = { };
33 for (c.x in obj)
34 r[c.x] = obj[c.x];
35 return r;
36 }
37
38 function forElem(obj, x) {
39 var r = { };
40 var c = { };
41 for (c[x] in obj)
42 r[c[x]] = obj[c[x]];
43 return r;
44 }
45
46 function forLocal(obj) {
47 var r = { };
48 for (var x in obj)
49 r[x] = obj[x];
50 return r;
51 }
52
53 function forArg(obj, x) {
54 var r = { };
55 for (x in obj)
56 r[x] = obj[x];
57 return r;
58 }
59
60 var obj = { a: 1, b: "bee", c: "crab", d: 12 };
61 assertObjectsEqual(obj, forName(obj));
62 assertObjectsEqual(obj, forGlobalName(obj));
63 assertObjectsEqual(obj, forProp(obj));
64 assertObjectsEqual(obj, forElem(obj, "v"));
65 assertObjectsEqual(obj, forLocal(obj));
66 assertObjectsEqual(obj, forArg(obj));
67

mercurial