3 var ee = require('../');
5 module.exports = function (t) {
9 var x = {}, y = {}, z = {}, count, count2, count3;
18 x.on('foo', function () { ++count; });
19 y.on('foo', function () { ++count2; });
20 z.on('foo', function () { ++count3; });
23 a(count, 1, "Pre unify, x");
24 a(count2, 0, "Pre unify, y");
25 a(count3, 0, "Pre unify, z");
28 a(x.__ee__, y.__ee__, "Post unify y");
30 a(count, 2, "Post unify, x");
31 a(count2, 1, "Post unify, y");
32 a(count3, 0, "Post unify, z");
35 a(count, 3, "Post unify, on y, x");
36 a(count2, 2, "Post unify, on y, y");
37 a(count3, 0, "Post unify, on y, z");
40 a(x.__ee__, x.__ee__, "Post unify z");
42 a(count, 4, "Post unify z, x");
43 a(count2, 3, "Post unify z, y");
44 a(count3, 1, "Post unify z, z");
46 "On empty": function (a) {
47 var x = {}, y = {}, z = {}, count, count2, count3;
56 y.on('foo', function () { ++count2; });
58 a(count, 0, "Pre unify, x");
59 a(count2, 0, "Pre unify, y");
60 a(count3, 0, "Pre unify, z");
63 a(x.__ee__, y.__ee__, "Post unify y");
64 x.on('foo', function () { ++count; });
66 a(count, 1, "Post unify, x");
67 a(count2, 1, "Post unify, y");
68 a(count3, 0, "Post unify, z");
71 a(count, 2, "Post unify, on y, x");
72 a(count2, 2, "Post unify, on y, y");
73 a(count3, 0, "Post unify, on y, z");
76 a(x.__ee__, z.__ee__, "Post unify z");
77 z.on('foo', function () { ++count3; });
79 a(count, 3, "Post unify z, x");
80 a(count2, 3, "Post unify z, y");
81 a(count3, 1, "Post unify z, z");
84 var x = {}, y = {}, z = {}, count, count2, count3;
93 x.on('foo', function () { ++count; });
94 y.on('foo', function () { ++count2; });
95 y.on('foo', function () { ++count2; });
96 z.on('foo', function () { ++count3; });
99 a(count, 1, "Pre unify, x");
100 a(count2, 0, "Pre unify, y");
101 a(count3, 0, "Pre unify, z");
104 a(x.__ee__, y.__ee__, "Post unify y");
106 a(count, 2, "Post unify, x");
107 a(count2, 2, "Post unify, y");
108 a(count3, 0, "Post unify, z");
111 a(count, 3, "Post unify, on y, x");
112 a(count2, 4, "Post unify, on y, y");
113 a(count3, 0, "Post unify, on y, z");
116 a(x.__ee__, x.__ee__, "Post unify z");
118 a(count, 4, "Post unify z, x");
119 a(count2, 6, "Post unify z, y");
120 a(count3, 1, "Post unify z, z");